Let the Editor create its used div subtree itself

* use classes for styling of editor structures
* use namespaced, numbered element ids to allow more than one editor
Merge pull request #461 from kossebau/editorCreatesOwnDivs

Let the Editor create its divs itself
Improve backspace and delete behaviour to function over inline roots

Backspace and delete characters were "sticking" when encountering other
roots in the document (e.g., annotations). Improved logic uses step
iterators to improve the robustness of this calculation.

Partially fixes issue #56.
Merge pull request #451 from peitschie/delete-over-annotation

Improve deletion over annotations and anchors
Add test for frame position.
Add a helper function to get the bounding rectangle for an ODF page.
Improve positioning of frame that relative to page.
Add type that is a union of ClientRect and a struct with the same members.
This makes is possible to use them interchangeably.
In older browsers, positioning is only allowed on whole pixels.
The positioning test should set the allowed error higher in such browsers.
Add more supported length units.
And add a bit of documentation.
Check for null return value for getBoundingClientRect.
Slight clarification of exception.
Add tests with draw:frame directly in office:text.
This requires position: relative in office|text to get the frame positioned properly.
Simplify layout tests by having common styles.
Fix positioning for horizontal-pos="left" and vertical-pos="top".
Code cleanup and add a test for anchor="as-char".
Move getStyleElement from odf.Formatting to odf.StyleInfo.
Also add description to some functions and make convertToPx clearer.
Fix positioning of frames in ODP files.
This fixes a regression. In ODP, the location of frames is relative to the top and left of the page, but this is not explicitly specified in the styles.