Merge pull request #219 from vandenoever/typechecking

Make MetadataManager 100% typed.
Extend step translation interface to allow custom rounding

Step translation from a DOM point to a step usually results in some
rounding. The existing interface provided a simple bool flag to control
this, but this does not provide help for a caller that doesn't know
ahead of time which step is "closer" to the desired node (e.g., asking
for steps at paragraph boundaries should round within the paragraph).

This extension now allows a custom delegate that will be called with the
prev and next position to choose between rounding options.
Merge pull request #221 from peitschie/steps-rounding-control

Extend step translation interface to allow custom rounding
In the tests get <text:p> elements with getElementsByTagNameNS, not getElementsByTagName

Seems Firefox just ignores namespaced elements in getElementsByTagName
Merge pull request #222 from kossebau/makeTestsFirefoxCompatible

In the tests get <text:p> elements with getElementsByTagNameNS, not getElementsByTagName
Removed unused SelectionWatcher class from OdfCanvas
Merge pull request #228 from peitschie/selectionw-cleanup

Removed unused SelectionWatcher class from OdfCanvas
Put OdfCanvas helper attributes "colspan", "rowspan" & "id" into the HTML document's native namespace

Prevents them leaking into the saved ODF files
Merge pull request #226 from kossebau/doNotLeakListAndTableCanvasHelperAttributesIntoFile

Put OdfCanvas helper attributes "colspan", "rowspan" & "id" into the HTML document's native namespace
Use new StepsTranslator mechanism for
computing positions of paragraphs in
DirectParagraphStyler. This fixes
the case where indentation of a paragraph
with direct-styled text at the beginning
would indent the previous paragraph also.
Merge pull request #216 from adityab/indent-fix

Fix bleeding of cursor ranges
Fix scheduled task so it only fires ONCE per group of trigger requests
Batch up multiple calls to redraw selection region

This does not need to be done immediately after every operation.
Ensure expand to word and paragraph boundaries keep selection direction

SessionController had some internal confusion about whether to work in
selection or range+bool. This cleans these up to ensure the direction is
properly preserved throughought.
Constrain anchor and focus nodes to the containing paragraph

This ensures that a cursor or selection remains within the
current paragraph container.

Fixes issue #161.
Don't allow paragraph selection to creep after mouse release

Chrome's built-in paragraph expansion will put the end of the selection
at (p,0) of the FOLLOWING paragraph. Round this back down to ensure the
next paragraph doesn't get incorrectly selected.

Fixes issue #165.
Expand to word and paragraph boundaries on mouse down

Previously, the editor would wait for mouse up before expanding the
virtual selection.

Now, this can easily be done on mouse down as well. this makes the
editor feel a lot more responsive when double or triple clicking to
increase expansion. It now mimics built-in Chrome behaviour.
Reset selection to collapse on anchor when performing shift+click

Firefox seems to get rather confused about the window selection when
shift+extending it. Help this poor browser by resetting the window
selection back to the anchor node if the user is holding shift.

Fixes issue #123.
Merge pull request #229 from peitschie/remove-window-selection

Cleanup various selection-related problems
Remove unneeded script tags.