Enhanced Navigator Resizability (#280, #296)

New navigator options:

* @property {Boolean} [showNavigator=false]
*     Set to true to make the navigator minimap appear.
*
* @property {Boolean} [navigatorId=navigator-GENERATED DATE]
*     The ID of a div to hold the navigator minimap.
*     If an ID is specified, the navigatorPosition, navigatorSizeRatio,
navigatorMaintainSizeRatio, and navigatorTop|Left|Height|Width options
will be ignored.
*     If an ID is not specified, a div element will be generated and
placed on top of the main image.
*
* @property {String} [navigatorPosition='TOP_RIGHT']
*     Valid values are 'TOP_LEFT', 'TOP_RIGHT', 'BOTTOM_LEFT',
'BOTTOM_RIGHT', or 'ABSOLUTE'.<br>
*     If 'ABSOLUTE' is specified, then navigatorTop|Left|Height|Width
determines the size and position of the navigator minimap in the viewer,
and navigatorSizeRatio and navigatorMaintainSizeRatio are ignored.<br>
*     For 'TOP_LEFT', 'TOP_RIGHT', 'BOTTOM_LEFT', and 'BOTTOM_RIGHT',
the navigatorSizeRatio or navigatorHeight|Width values determine the
size of the navigator minimap.
*
* @property {Number} [navigatorSizeRatio=0.2]
*     Ratio of navigator size to viewer size. Ignored if
navigatorHeight|Width are specified.
*
* @property {Boolean} [navigatorMaintainSizeRatio=false]
*     If true, the navigator minimap is resized (using
navigatorSizeRatio) when the viewer size changes.
*
* @property {Number|String} [navigatorTop=null]
*     Specifies the location of the navigator minimap (see
navigatorPosition).
*
* @property {Number|String} [navigatorLeft=null]
*     Specifies the location of the navigator minimap (see
navigatorPosition).
*
* @property {Number|String} [navigatorHeight=null]
*     Specifies the size of the navigator minimap (see
navigatorPosition).
*     If specified, navigatorSizeRatio and navigatorMaintainSizeRatio
are ignored.
*
* @property {Number|String} [navigatorWidth=null]
*     Specifies the size of the navigator minimap (see
navigatorPosition).
*     If specified, navigatorSizeRatio and navigatorMaintainSizeRatio
are ignored.

Fixes #280 and #296
changelog update
ABSOLUTE Control bug fix

Wrapped ABSOLUTE positioned controls in a div so fade opacity would work
correctly.

Added 'navigator-scroll' event addition to changelog.
Update navigator on full-page/full-screen bug fix
Added navigatorAutoResize option

Improved resizable navigator support.
Navigator cursor fix
Navigator update

Allow navigators hosted in a user-supplied element to be styled by user.
Navigator Tests Update

Tests added for all navigator placements.

Work in progress: Adding tests for viewer resizing.
Navigator Tests Update

Removed leftover comments
Navigator update with tests update

Navigator hosted in viewer with navigatorMaintainSizeRatio==false (the
default) now maintains its area and aspect ratio.

Tests added for most (all?) navigator configurations.
Navigator Tests Update

Added tests for resizable navigators.
Fixed typo.
Pass degrees from the viewer to the viewport. Fix #305
Changelog for #336
Added rotate right/left buttons to default tools
Fixed code style issue.
Updated images for rotate left/right to better match existing buttons.
Added pre-draw event for tiles to allow applications to alter the image just prior to its rendering. This should enable invert, brightness, contrast, sharpen and other transformations to occur naturally through the 'tile-drawing' event listener.

The listener is given the 'rendered' object which is the pre-drawn image on a canvas context object. By altering the 'rendered' object the listener can alter the display results. Since this event gets fired multiple times for the tile, it is wise for the handler to track what their desired modifications are and to tag the 'tile' element to keep track of the modifications already applied.
Added configuration around the rotate left/right buttons. The default for showRotationControls is false to preserve existing functionality. Also added default tooltip strings for the buttons.

This version runts the tests fine locally using 'npm test'. It looks like the remote build was having a timeout issue which I couldn't reproduce.
Tuned the configuration around the rotate left/right to work when the drawer is instantiated.
Added tests for rotate control on/off setting.