New: setting arrowScrollAmount

Added arrowScrollAmount to control by how many pixels the arrow up/down/left/right keys scroll by within the document viewer (if settings.enableKeyScroll is true).

Refs #140
Docs: enableKeyScroll also controls arrow scrolling now
New: added up/down/left/rightArrowKey codes

Store the keycodes for the arrow keys in preparation for binding them to change the current scroll position.
Also reformatted variable block to combine declarations.

Refs #140
Fixed: after zooming, keypresses were delegated to the zoom slider

The zoom slider was stealing keypresses after the user dragged to zoom in or out. To fix this, once the user is finished dragging, the zoom slider loses focus so that keypresses are caught by the window.

Refs #140
New: bind arrow keys to scroll

Within handleEvents(), explicitly binding arrow keys to scroll within the document. This is necessary because the constant creation and deletion of DOM nodes (divs) representing tiles was causing the browser to refuse to scroll past the initially viewable area.

Fixes #140