BaseRouter refactoring

I tried to replace the `Backbone.Router` with [page.js](http://visionmedia.github.io/page.js/) to have a `express`-compatible router on the client-side (#31).
 After digging into the code I realized that it is pretty hard to understand and hard to test. So I started to refactor the `BaseRouter` and write a test for it.