Add tests for the StepIterator class
Rewrite image selection to use StepIterators

OdtDocument.getDistanceFromCursor is no longer used by any code.
Rewrite some cursor move & extend actions to use a StepIterator
Simplify PositionFilterChain to not use named filters

PositionFilterChains no longer have any need to allow adding or removal
of named filters. In practice, filters are only ever added just after
construction, and remain unchanged beyond this point. This allows a
slight simplification of the PositionFilterChain interface.
Simply logic in OdtDocument.createStepIterator
Merge pull request #315 from peitschie/migrate-step-iterator

Rewrite some selection features to use StepIterators
Add bulk-operation benchmark steps

Add repeated insert, remove and move steps to see how behaviour scales.
Control of canvas focus is no longer CaretManager's responsibility

This now logic now lies in the InputMethodEditor class.
Batch updates to caret state and redraw once after all state changes are made
WIP don't refetch all the style information to check each individual alignment