Improved History Support

I found 2 minor issues which didn't properly save the browsing history in Chromium

* determination of useFragment attribute by supported browser features
* pushState is used when useFragment is active