Grunt: stricter JSHint settings
Upgrade to current JSHint

This also allows us to move our settings to .jshintrc for better IDE &
command-line integration - simply type "jshint" in the directory and it
will use the same options.
Remove unused variables

Mostly unused function arguments but there were also a fair number
of legacy names which are now no longer used.

One question which comes up – mostly in tilesource.js – is whether
there is any value in leaving unused variables for functions which
are intended to be overridden anyway. I'm inclined to say that the
docs + tests need to be sufficient as there's no enforcement that
whatever is in the base implementation will actually be followed by
any of the real functions.
Fix lack of braces on if statements

JavaScript's most popular rack in the grass for maintenance coders…
viewer.js: fix typos in variable declarations
referencestrip.js: declare undeclared variable
Replace gnarly ternary expression with if statement
Declare assumed globals
openseadragon.js: remove unused builtin aliases
referencestrip.js: move variable declaration to the top of loadPanels
navigator.js: omit unused borderWidth from func args
openseadragon.js: fix imageFormatSupported refs
Expose semi-private processDZIError for use by DziTileSource

This previously wasn't in scope outside of the main OpenSeadragon
closure. Now it's exposed with an underscore prefix to encourage people
not to think of it as a public interface.
JSHint: disable unused variable check

This is nice but until jshint/jshint#1146 is fixed there's no way to
selectively disable W098 for unused function arguments which we wish to
include for documentary purposes.

With this change there are only three remaining warnings, all of which
are actionable.
viewer.js: remove dead code
viewer.js: update onfullscreenchange handler comment
Declare _processDZIError directly on OpenSeadragon
fix error when recalculating overlay width and height
Safe cleanup in makeAjaxRequest error handler

Previously `request.onreadystatechange` was assigned an empty function
on success but null on failures, which breaks in IE (see
http://jsbin.com/ezozax/6/).

This patch simply mimics the success behaviour in the cleanup function

Closes #143
drawer: don't leak drawLevel into global namespace

This code is still under-tested and documented but no longer relies on
`drawLevel` being leaked into the global namespace where `updateLevel`
to find it.

See #145