Use highlight decorations

One potential problem with this is that I switched from calling `$.fn.command` to calling `atom.commands.add`, using an inline listener. Currently, inline listeners don't show up in the command palette. I have [a PR in core](https://github.com/atom/atom/pull/4121) to address this, but it only fixes the issue with shadow DOM enabled. With shadow DOM disabled, inline listeners on the `atom-text-editor` *still* don't show up in the command palette because `document.activeElement` is the hidden input, not the editor.