Fix issue with line-height when deleting/merging paras in Chrome

Bit of a hefty patch to fix the line-height issue in Chrome.

Comes with a suite of tests to prove the problem is gone.

Note the various TODOs, in particular we probably want to run this in a transaction to record any change in the undo manager, but I didn't add it as more often than not the patch would be a noop (no line-height to cleanup). I think we can lose the tiny bit of history for now until @OliverJAsh enlightens me.

/cc @OliverJAsh let me know if you have time to check, else might work with Rob to release and roll out in the coming hours.