Add a new SQLite backend

This is lacking the hacky changes I had to make to the test runners since those changes broke all the other backends.
I would change `time_uuid` to simply `id`. Is there any reason why no types are being declared for other columns? Maybe make every other column `TEXT` and event as `BLOB`?