Legacy browser support and initial popstate removal on Chrome

Hi,

I just open this PR for you to be aware that I have implemented a `hash` fallback for legacy browsers.
I've tested it on:
- Android 3-4
- iOS 6
- Latest Chrome, Firefox, Opera
- IE 9-10

This PR also remove the useless initial `popsate` fired by Chrome.

If you are interested into picking it, I will re-arrange the code to have less useless changes (code formating and symoblic replacement for Windows).
I patched it rapidly because I needed it asap :)