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.