Handle contentEditable elements correctly

Continuation of #1050.

This PR makes link hints handle `contentEditable` elements correctly, and ensures we disable our shortcuts while such elements are active. This

* fixes #888 
* fixes #1136 
* fixes #1245.
Sorry @smblott-github, did you mean being able to trigger other vimium shortcuts (eg. clicking a button with linkhints) while the selection is present? I think that's a viable use case, and shouldn't require too much of a code change.

I'll look into it now