remove timeout

This PR does the following:

* remove timeout before binding using pjax technique (https://github.com/defunkt/jquery-pjax/blob/master/jquery.pjax.js#L416-L419)
* single `window.onpopstate` binding
* Added router#unbind() to stop the router from listening to `popstate` events