Toggle hyperlink active state via classes rather than custom XML attrs

Toggling a custom attribute on a custom XML element doesn't properly
update the visual state on some browsers (e.g., WebKit on OSX). Using
CSS classes instead seems to be better handled in these browsers,
correctly updating the mouse cursor icon on the fly.
Clean up API dox
Normalize keyboard events involving modifiers

For keys that are also modifiers (e.g., Ctrl), different browsers +
platforms may report the modifier flag as leading or lagging the
keypress event. For example, pressing the ctrl key in FF on Linux will
report (ctrlKey:false)in the keydown event, while Chrome on Linux will
report (ctrlKey:true) in the keydown event. For these specific cases,
normalize the modifier flag so it is always the set to true.

Fixes issue #322.
Merge pull request #462 from peitschie/active-link-toggle

Toggle hyperlink active state via classes rather than custom XML attrs
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
turn core.Async from class to namespace
use core.Async.destroyAll for Editor.destroy
Merge pull request #469 from kossebau/makeCoreAsyncANamespace

Make core.Async a namespace
Add fullscreen and presentation support for IE11.

This amazing browser does camelCasing differently
for event names and also does not support the
isFullscreen or msIsFullscreen property on document.

Therefore this commit keeps track of the fullscreen
state with a custom flag, instead of asking the browser
for it.
Hide presentation button when there is no fullscreen api
Merge pull request #472 from adityab/ie-viewer-fullscreen

Viewer: Add fullscreen and presentation support for IE11.
Refactor HyperlinkClickHandler to cleanup event binding

Move control of event bindings from SessionController to
HyperlinkClickHandler so bindings will be updated whenever modifier is
changed. This allows some simplification as HyperlinkClickHandler can
simply use the KeyboardHandler.Modifier.
Remove unnecessary duplicate click handler in the viewer plugin

The viewer was quite recently modified to use a session controller to
take advantage of the improved selection rendering system. This makes
the manual creation of the hyperlink click manager unnecessary.
Add tooltip support for hyperlink
Enable the hyperlink tooltip in the ODT viewer
Merge pull request #439 from peitschie/hyperlinkTooltip

Add tooltip support for hyperlink
Catch and log unhandled exceptions in async tests