Remove trailing whitespace
Normalize code style
Store application state in URL fragment

Using the fragment (or "hash") allows the application to keep its
current state syncrhonized with the URL in the browser's location bar.
This removes the need for the "share" button, since the URL always
reflects the current state of the application (and is therefore always
shareable).

Note that this approach means the browser "Refresh" button does not
change the state of the application.
Merge pull request #2 from jugglinmike/use-fragment

Use fragment