Use Error objects in callback passed to "destroy" methods

The currently plain undefined objects are not useful at all, because
the properties are undefined.
Merge pull request #534 from kossebau/useErrorTypeInDestroyCallback

Use Error objects in callback passed to "destroy" methods
The editor's body css should not affect the
office:body element.
Merge pull request #539 from adityab/bodystyle-editor

The editor's body css should not affect the office:body element.
make Webodf version a global property on the new namespace webodf
Merge pull request #535 from kossebau/makeWebODFVersionGlobalProperty

make Webodf version a global property on the new namespace webodf
Add operation test showing issue with split paragraph near spaces
Ensure upgrade whitespace logic always upgrades current and next step

Using step iterators ensures the current and next step are always
upgraded, even if the next step is more than 2 positions away from the
current step.

Additionally, the logic has been corrected to upgrade the character to
the LEFT of the step rather than the right. This better matches the
intended step position as described in README_cursorpositions.txt.

Fixes issues #514.
Add operations test showing empty spans created on paragraph split
Merge pull request #515 from peitschie/space-upgrade-fix

Fix issue where whitespace is not correctly upgraded
Resynchronize the window selection on any local cursor update

The window selection should be synchronised every time the local user's
cursor is moved. When the local user's selection is modified using the
keyboard, the event trap never loses focus, so the focus event is not
fired, meaning the window selection was not being reset.

Now, the local cursor's update event is directly subscribed to, and if
the document has focus, the window selection is reset. Note, if the
document does not have focus, no reset will occur to prevent focus
stealing.

Fixes a regression introduced in 8de8dde.
Merge pull request #520 from peitschie/selection-sync

Resynchronize the window selection on any local cursor update
Fix crash in utf8ByteArrayToString when opening UTF8 heavy docs

UTF8 allows double-byte chars (as shown in the loop handling behaviour).
This means that it's possible for the number of chars to never be exactly
1000. E.g., a double-byte char is added after there are 999 chars. If this
happens, the char length will never flush until the function returns, at
which point too many arguments are passed into the apply invocation and
a maximum stack size error will be thrown.

There is no measurable performance from this change (tested @ 1000pages.odt)
Merge pull request #541 from peitschie/length-fix

Fix crash in utf8ByteArrayToString when opening UTF8 heavy docs
Fix: disable annotation creation key combo in collab editor
Add assertion that sessionController and sessionview agree about annotation editing
Merge pull request #540 from kossebau/fixAnnotationEnabledInCollabEditorController

Fix: disable annotation creation key combo in collab editor
Prevent possible exceptions during load in odf.ListStyleToCss

* odfUtils.parseLength can return null, so be prepared for that in some way

* attribute "fo:margin-left" could not be set for <style:list-level-label-alignment>
  as it could be defined by the paragraph style (cmp. TODO above the line)
  so for now just use "0px" to not break other things
Default to "left" for unset fo:text-align in <style:list-level-properties>
Add odf.ListStyleToCssTests