support width: 'auto' and improve hash support

I've made a few improvements for a project here and wanted to offer to push these back up stream.

The changes include:

* Use `@preserve` in the docblock so that the file can be minified with Google `closure-compile` without stripping the license, info and copyright.
* Change whitespace to be more consistent. Tabs and spaces are being used inconsistently and there were a few cases of trailing slashes. I've converted everything to tabs.
* Support a default setting of `width: 'auto'`, to fill the container element.
* Allow reading the hash from the URL on first load, to open the correct tab, and change the default setting to `hideHash: false`, to take advantage of this feature by default.