Make canvas overflow hidden.

Even though the sizer is scaled, it's original 'ghost'
size is used to hint scrollbars in Firefox (unlike in Chrome).
Therefore the canvas's overflow needs to be hidden to
prevent this ghost size leak.
Re-apply inline-block to canvas element on resizing.
Chrome tends to forget this property after a relayout.
Do not show a scrollbar in slideshows in the viewer.
Slideshows are (currently) meant to be navigated by
the nav buttons.
Let sizer overflow out of the canvas during
a pinch-zoom gesture.
Center all slideshow pages
Move slideshow CSS customizations for canvasContainer to viewer.css
Apply presentation mode styling via classList.add,
and not by setting the className.
Merge pull request #589 from adityab/scrollfix

Polish and papercut-fixes for the viewer
Make caret and avatar overlays rather than inline content

Having the caret and avatar display inside the cursor node causes text
wrapping and other element shifts to occur in some browsers (mainly FF)
due to there being layout impacts from the almost-but-not-quite 0-width
cursor element.

Moving to non-inline overlays for these bits of chrome allows the cursor
to be hidden completely.

TODO
This commit introduces a regression when composing text using an IME
as the overlay doesn't advance properly during composition.

Fixes #86
Fix caret placement when composing text via the IME

If the cursor node itself is visible, use the bounding rectangle from that
as the highest priority for the caret position.
Merge pull request #576 from peitschie/caret-overlay

Make caret and avatar overlays rather than inline content
use the new official name "ViewerJS" consistently everywhere
Merge pull request #584 from kossebau/nameConsistentlyViewerJS

use the new official name "ViewerJS" consistently everywhere
Slight tweak to paste logic to eliminate unnecessary operations

As pasting occurs within an existing paragraph, multi-line text only
requires one split paragraph op per newline AFTER the first line. This
allows the logic to be simplified, removing the need for the remove op
completely.
Merge pull request #588 from peitschie/paste-tweak

Slight tweak to paste logic to eliminate unnecessary operations
Update webodf/lib/manifest.json: gui.PlainTextPasteboard does not need ops.OpRemoveText any more.
Add getElementsByTagName to DomUtils.
Remove dangerous <script/> and <style/> tags before inserting XML into the dom.
<script/> tags are executed when inserted into the DOM. This is unwanted, so they are are removed before the XML is inserted into the DOM.
In addition, <style/> elements can be used to execute code, so they are removed too.