Add phantomjs script to create pdf from odf files.
allow specification of build-version from outside (cmake)
Update CDN versions to use dojo 1.8.3
Allow event focus to be returned to SessionController without scrolling to the top of the ODF canvas

Element.focus() has additional logic that attempts to bring the top of
the element into view. This causes the a document that has been vertically
scrolled to reset back to the top of the document each time an Editor
button is clicked.

This redesign abstracts the event management away, and uses an invisible
div as the primary event trap. Because the div is always visible and
centred, the browser does not perform any scrolling. Non-bubbling events
are automatically forwarded from the event trap to subscribers.

Fixes Issue #44
Redraw the current user's selection when switching focus back to the event manager
Disable focus to the direct canvas as Firefox doesn't pass focus to a nested child on click

When the event trap has focus and user clicked on the canvas, the focus
would not pass to the canvas on the first click.
Ensure the selection is reset again after the event trap receives focus

The focus event will sometimes update the window's current selection
after all event handlers have been called (observed on FF24, OSX).
Fix crash in gui.EventManager.unsubscribe(), splice called on wrong object
Update Closure Compiler and Node.JS.
One previously
 undiscovered error was found and fixed.
Update JSLint and add a patch to make future updates easier.
Record local caret visibility before every local operation and restore after execution

The caret is now only scrolled back into view if it was originally
visible when the most recent operation commenced execution.

Previously, any operation local operation would immediately recenter
the view back onto the local user's caret. This behaviour is undesirable
however if the user has deliberately scrolled the caret out of view before
performing an operation (e.g., removing an annotation whilst the caret
is off screen).

Fixes issue #33