Make html files of editor and viewer HTML5 validated

Check done with http://validator.w3.org/check
Merge pull request #528 from kossebau/validatedHTML

Make html files of editor and viewer HTML5 validated
Add section "Creating webodf.js" to README.md
Do not duplicate the README in the error messages
Merge pull request #530 from kossebau/buildInstructions

More build instructions
Add dutch translation.
Remove a duplicate entry from the german translation and add some new translation strings in dutch and german.
Merge pull request #537 from vandenoever/nl

Add dutch translation.
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)