Fix pushState. Refactor code.

* Fix pushState/hashBang (in older IE)
* Refactor code to use objects to group functions
* Now with back/forward buttons in recent browsers