Make app available offline

The essential files are now cached on the client, using the new HTML5
Application Cache specification. It might be a good idea to put this in
seperate branch, to make testing new code easier...