Do not let the caret overlay grab pointer events.
Merge pull request #597 from adityab/caret-click

Do not let the caret overlay grab pointer events.
Calculate caret display from closest STEP rather than closest sibling

The caret display position is tied to the ClientRect of the associated
cursor's text content, which is usually found to the left of the cursor.

Using a step iterator ensures only steps within the same root as the cursor
are considered, preventing issues such as #260 & #559.
Merge pull request #595 from peitschie/caret-rect-calcs

Calculate caret display from closest STEP rather than closest sibling
Update webodf/tools/karma.conf.js: add new class file lib/gui/GuiStepUtils.js
Add signalling for metadata changes to OdtDocument
and the Editor.
Add methods setMetadata and getMetadata to Editor.