Offline Support

Offline support via offline.html, so people can save onto the homescreen (on iOS, maybe others?) and play offline. Also works in most modern browsers.

I decided to not integrate into main index.html because offline is kind of a pain in the ass. Basically it comes down to not being able to selectively provide cache (i.e. only when in offline mode). Downside is that there are now two indexes to maintain. I could put it straight into index.html but you'd have to be cognizant to update the offline.manifest file even just to view changes during development.

A note on that: if you make ANY resource changes (change some css, change js, add anything, change some html in offline.html, etc) then you must update the offline.manifest. The browser caches the file and updates resources ONLY if the manifest has changed. Forcing an update is as simple as updating part of the "Manifest version" string within the manifest file.

Great reading on all this can be found here: 
http://alistapart.com/article/application-cache-is-a-douchebag