Don't route if the URL hasn't changed.

(Also the beginnings of _location being an option).
For #319