URL router implementation

The router works. I think it's time to merge this branch back into master and close it. I'll make a different branch for work on swiping gestures.