Fix issue #44 - address content scrolling issues in firefox

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