Start of implementing the "server-defined routes" prototype.

This is an alternative implementation of $route that runs in the client
but does its route lookups via the server. As of this commit it only
knows how to handle the initial pageview where the route information is
inlined in the HTML, so navigation between pages is broken. That will be
addressed in a later commit.