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 (possibly) #1245.
Actually, does [this](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.isContentEditable) not simplify things?