taking a first pass at an indexedDB-backed FS, per #26

Currently doesn't use an index or any in-memory caching, for
simplicity. Also currently broken.