deps,doc,lib,src,test: add experimental web storage
This commit introduces an experimental implementation of the Web Storage API using SQLite as the backing data store.
A few notes:
- The
StorageEvent
class is not yet implemented. - The sqlite license seems to be sort of unique. I wasn't sure how it should be added to the license builder.
- There is no sqlite dependency update script.
- There are probably opportunities to optimize the database configuration in the future.
- There are opportunities in the future to make this more configurable (such as a CLI flag to specify the storage location or maximum size).
- Unsure if storage should be accessible from workers. Web workers cannot access them, but Node's worker threads are not quite web workers.
- Since the CI is currently locked down, I'm unsure if sqlite builds on every platform Node.js supports.