This patch stores the current focused node in the URL hash, so you can
link to a specific stack.
It also implements the back/forward buttons using the `pushState()` API.
Only the merged/unmerged setting and the focused node ID are stored
right now, but the type visibility settings should be added too as those
are necessary in order to show the focused node.
The hash is read on load, elsewhere the history API is
used—`pushState()` and `onpopstate` are a little easier to deal with
than `hash` and `onhashchange`. (onpopstate is _only_ triggered by user
action for example so we don't have to check if we just pushState()d.)
TODO:
- [ ] add type visibility settings to URL hash
- [ ] when pressing Back repeatedly, the rendered state may get out of
date because no new animations are started for 500ms or so after
another started. Should instead cancel ongoing animations and switch to
the new one.