Service worker support

- [ ] Ready for merge

First stab at offline support via service worker. Currently working, but no syncing, etc, etc. But yeah, wow.