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
Merge pull request #656 from peitschie/split-screen-editor

Split screen editing demo
Add styles for nested "draw:*" elements when cloning master pages.
Added changelog entry for #727.
Merge pull request #727 from fancycode/nested_drawns_elements

Add styles for nested "draw:*" elements when cloning master pages.
No need to create edit info rules for the shadow cursor
Merge pull request #740 from kossebau/lessRulesForShadowCursor

No need to create edit info rules etc. for the shadow cursor
Create CSS rules for the attributes presentation:display-*
Merge pull request #734 from kossebau/respectDisplayAttributesForMasterPageElements

Create CSS rules for the attributes presentation:display-*
Fix CMake version detection to handle dirty tags ("v0.5.2-dirty")

Uncommitted changes directly on a tagged version omit the commit # &
SHA1.
Attempt to report JSON strings in test output when two objects mis-match

Improves upon the existing reported string of "[Object object]". If the
object being serialised has recursive structures, the report string will
fall back to the previous implementation.
Fix direct cursor styling behaviour

Recent changes to Formatting.getAppliedStyles return type were not correctly
spread through the DirectFormattingController. Update the CC types and fix
incorrect type usages in this controller.

To help preserve future sanity, some rough unit tests have been added for
the specifically fixed branches ONLY.

Fixes #723.
Merge pull request #747 from peitschie/split-p-style-props

Fix direct cursor styling behaviour
Add changelog update for PR #747
Merge pull request #748 from peitschie/changelog

Add changelog update for PR #747
Clean up Avatar styling and remove !important tags from webodf.css

Historically, the avatar styling was split between the avatar class,
webodf.css and the editor's own CSS. This now all lives within WebODF,
so the !important tags are no longer necessary as the style attributes
being set on the handle and image elements can simply be removed.
Keep IME character selection menu in one place during composition

f78a30a introduced a regression that caused the IME menu to appear to
follow the caret across the screen as new characters are entered, rather
than remaining anchored at the beginning of the composed text.

This patch adds some width calculations, and aligns parts of the caret
overlay to either left or right side of the container. As the caret
overlay is widened, the event trap will remain fixed to the left, and the
caret + avatar handle will remain fixed to the right.
Redraw the caret if the composition sequence is aborted

If the user abandons the composition sequence (e.g., by pressing the
escape key before choosing which word to input), the text is cleared and
no operations or other updates are required. Subscribe to this event as
well to ensure the caret is redrawn back at the proper location.
Remove unnecessary eventTrap CSS rules

The event trap is no longer made visible during composition. As a result,
the overflow and width settings are no longer required, and the height is
never overridden.