[WIP] Appcache

Offline version.
Tips:
- Manage cache in Chrome: chrome://appcache-internals/
Shouldn't we rather use `$window`?

Also, shouldn't we check for existense of `localforage`?