Oja hg fix h2

This contains a fix for a bug when Chrome inserts extra text elements after a change of focus (i.e. a button click) and leaves unwanted H2 elements in the remaining markup

See the large comment above the change code for more.

As this comment says, it would be nice if all of this mess was abstracted into a polyfill for `Range.insertNode`. Can hold on for now, though…