Use HTML5 history.replaceState to update page url when scrolling

As suggested by @cbeams in #62 .

Tested old and recent browsers, all working when the feature is supported, no bug when it isn't.