title: UITableViewRowAction with icon and text
body: <p>There are a couple of similar questions out there, but I think there should be up an up to date answer for iOS 10, using Swift3, that doesn't use private APIs, and doesn't rely on you restricting your icon to the unicode emoji.</p>
  
  <p>I have table rows with three actions right now:</p>
  
  <pre><code>func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -&gt; [UITableViewRowAction]? {
      let rename = UITableViewRowAction(style: .normal, title: "Rename") { (_, indexPath) in
          self.renameEntry(indexPath)
      }
      let locate = UITableViewRowAction(style: .normal, title: "Locate") { (_, indexPath) in
          self.locateEntry(indexPath)
      }
      locate.backgroundEffect = UIVisualEffect()
      let delete = UITableViewRowAction(style: .default, title: "Forget") { (_, indexPath) in
          self.deleteEntry(indexPath)
      }
      return [delete, locate, rename]
  }
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/UshcR.png" rel="noreferrer"><img src="https://i.stack.imgur.com/UshcR.png" alt="enter image description here"></a></p>
  
  <p>But instead of squares of color with centered text of size and style not of my choosing, I want:</p>
  
  <p><a href="https://i.stack.imgur.com/JLMXO.png" rel="noreferrer"><img src="https://i.stack.imgur.com/JLMXO.png" alt="enter image description here"></a></p>
  
  <p>I tried using a backgroundColor, but that just tiled my image all over the button, and didn't change the position or color of the text. So it has to be something more than just</p>
  
  <pre><code>theAction.backgroundColor = UIColor(patternImage: UIImage(named: "renameImage")!) 
  </code></pre>
  
  <p>Is there a good way of doing this?</p>