Sync with webodf S82510ae020f8ee8a1f7b65a27b6af107b6023e90

* exposes some state-change/error events in the Editor API
* catches more possible errors and handles them
  (e.g. staying cool on temporary disconnection to server, but warning about it)
* improves selection by mouse
* fixes selected paragraph style not being set to all selected paragraphs
* fixes leaking of some helper attributes into saved ODT files

The Editor API now has a method addEventListener(eventid, listener), which can be used to set handlers for these events ATM:
* Editor.EVENT_BEFORESAVETOFILE - no argument, emitted before saving file via server to filesystem starts
* Editor.EVENT_SAVEDTOFILE - no argument, emitted when saving file via server to filesystem is done (no error handling yet)
* Editor.EVENT_HASLOCALUNSYNCEDOPERATIONSCHANGED - boolean argument, reflecting new hasLocalUnsyncedOperations state
* Editor.EVENT_HASSESSIONHOSTCONNECTIONCHANGED - boolean argument, reflecting new hasSessionhostConnection state
* Editor.EVENT_ERROR - string argument, one of these errorcodes:
             *   "notMemberOfSession"
             *   "opExecutionFailure"
             *   "sessionDoesNotExist"
             *   "unknownOpReceived"
             *   "unknownServerReply"
             *   "unresolvableConflictingOps"

See the example code at https://github.com/kogmbh/WebODF/blob/master/programs/editor/collabeditor.js for some inspiration how to use it. Should help e.g. to solve issues #89, #67, #114

If other/more events would be interesting, please file issues for them with WebODF :)