Wrap page images to allow overlay effects

Overlays will require a position:relative wrapper, which this change
adds with the necessary CSS and JS structural changes.
Update config before creating views
Less aggressive page header hiding

Now the page header will be visible sooner and hidden later to
avoid flicker and be friendlier for imprecise devices
Use history.replaceState instead of pushState

In testing, the more “correct” behaviour of storing each page of an
item in the history is annoying for most people. Instead, we'll save
the current page so the navigation flow of 
"start > page 1 > page 2 > back" behaves as expected by returning to
"start" rather than "page 1".
Viewer: tweak small screen button font-size
CSS: make button height configurable
Adjust facing page calculations for Firefox

The way Firefox 24 calculates the page widths has some slight variance
from Chrome (rounding?) which means that some window widths would
display the second page wrapped below the first.