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.
Add failing test showing crash with apply styles op
Use ranges when applying a style to better handle DOM changes

When first created, the text style applicator used to move nodes around
within the first while loop, often modifying the limiting range in ways
that were not expected.

In 5a86bdd, this behaviour was re-written to gather all the relevant
nodes and migrate them once all siblings in the container were checked.
With this change, it is now best to use the range once again, as this
avoids additional problems (see the modified test) with new children
being added within the range if new styling containers are inserted.