Allow encoding level data in a URI to allow easy sharing

When a level is added the level data is stored in window.location.hash, so the current URI can be shared easily.