Dynamic Hashbang routing for devcards UI

Aside: Please forgive the whitespace changes; I have whitespace-mode enabled in emacs :-)

I had to add an equality check in the transform for `:current-path` to stop it from doing work when the incoming path matches the current path.