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
Merge pull request #228 from peitschie/selectionw-cleanup

Removed unused SelectionWatcher class from OdfCanvas
Fix scheduled task so it only fires ONCE per group of trigger requests
Remove all dependency on the browser window's selection

Note, this currently breaks mouse-selection in IE entirely.
Batch up multiple calls to redraw selection region

This does not need to be done immediately after every operation.
Add IE compatible caretPositionFromPoint implementation

Internet explorer still has no equivalent for
document.caretPositionFromPoint. This patch provides a manual impl that
uses client rectangles to attempt to simulate similar selection
behaviour.