Improved script.onload detection allows old Firefox to boot
Old Firefox didn't support CustomEvent
Refactor the adding of dataSources for reading boot-options.
Comments change only
Previously state transitions scrolled the page to the top of page,
or to an element if the URL had a hash.
Now there is an onscroll handler to save pageXOffset, pageYOffset
which is restored when returning to a state.
This mimics browser native behavior.
All current browsers will scroll the page around the popstate event,
attempting to restored the page-offsets from the last time the state was active.
This commit attempts to undo this scrolling by restoring the page-offsets
of the state prior to the popstate. The offsets of the current state will
be applied when the content of the current state is ready.