Merge pull request #252 from peitschie/annotation-sel-overbleed

Correct selection over bleed when selecting from the first step inside an annotation
Re-implement the selection commands using new StepsTranslator interfaces

This re-implementation also addresses problems when navigating passed
annotations as identified in issue #65 & #65.

This also fixes a large performance issue with extending or moving the
cursor via short-cut keys.
Re-implement select-all behaviour using new StepsTranslator interfaces

This also addresses an outstanding TODO in code that select-all was only
ever selecting the entire document, rather than all the text inside the
current root (e.g., the current annotation)