Stateful URLs

TLDR; Improves state persistence using the URL hash fragment.

We already have a `#52.40493,5.14160,9`-style location parameter.

This PR allows multiple parameters via a HashSyncHelper factory with a setHash and getHash method. (setHash sets or updates if a key exists).
New URLs look like `#location=52.36830,4.71745,15&bl=2` where `location` contains the lat/lon/zoom and `bl` contains the ID of the current backgroundlayer.

Changing the URL reflects a change in application state and vice-versa. (makes 'stateful URL sharing' possible)

![out](https://cloud.githubusercontent.com/assets/7193/3089975/8c642c24-e585-11e3-8778-d2c074e581b0.gif)