Re-implement navigate-to-line-boundary cursor movement
Re-implement navigate-by-line cursor movement
Re-implement up/down movements caching the last caret X position

When navigating vi the up/down arrow keys, the user often wants to move
multiple lines in sequence (e.g., to visually place the caret in one of
the following lines). To stop the caret suddenly jumping to the left
side of the page when crossing an empty paragraph, the caret's X position
will be stored and re-used by subsequent up/down movement for up to 2s
after navigating by line.

Any other operations performed by the local user (e.g., cursor movement
to the left or right), or edit operations by collaborative users will
immediately clear the stored X position.
Merge pull request #609 from peitschie/line-boundaries

Rewrite of line boundary movement actions
Fix outline elements sneak from master pages into the shadow copies
Merge pull request #728 from kossebau/fixOutlineElementsSlippingIntoSlides

Fix outline elements sneak from master pages into the shadow copies
Allow multiple instances of the editor to be created in a single page

Mangle HTML ids in a predictable fashion in dialog widgets to ensure they
do not clash if multiple instances are loaded.
Split screen editing app

Creates two editor instances within a single web-page, and allows live
collaboration between them.

Key features:
* EASY TO USE (requires no additional setup to run)
* supports client disconnection
* simplistic latency simulation
fixup! Split screen editing app

Cleaning up display slightly
fixup! Split screen editing app
fixup! Split screen editing app