Improve backspace and delete behaviour to function over inline roots

Backspace and delete characters were "sticking" when encountering other
roots in the document (e.g., annotations). Improved logic uses step
iterators to improve the robustness of this calculation.

Partially fixes issue #56.
Merge pull request #451 from peitschie/delete-over-annotation

Improve deletion over annotations and anchors