jerith666 rework scroll handling to support back button
* continually track the scroll position via 'on "scroll"'.  this
  eliminates the need to requesty the current scroll position before
  performing a navigation update, which simplifies the code.

* include the scroll position as a query param in the url.  this make
  it visible to navigation actions initiated by the user via
  back/forward, so we can restore it.

* when reacting to back/forward nav actions, we have to take care to
  control the ordering of updates:

  * (1) so that we wait to scroll until we've rendered the album or
    albumlist that the scroll goes with.

  * (2) so that the url doesn't appear to change in weird ways.

  the PostLoadNavState approach may be all that's needed for (2), but
  the Sequence / SequenceCmd stuff is probably necessary for (1) due
  to the lack of ordering guarantee given by Cmd.batch.
Latest commit 6bdeab4 Aug 11, 2018