Merge ixdb2 into beta21. This started with the sql branch of beta21, but Javascript SQL was too slow. Then sql was branched into ixdb, but IndexedDB was also too slow when used on individual records. Then ixdb was branched into this ixdb2 branch which uses IndexedDB only for offline caching and returns to in-memory database. This appears to work well so far, so finally ready to merge back to beta21 branch.
Merge ixdb2 into beta21. This started with the sql branch of beta21, but Javascript SQL was too slow. Then sql was branched into ixdb, but IndexedDB was also too slow when used on individual records. Then ixdb was branched into this ixdb2 branch which uses IndexedDB only for offline caching and returns to in-memory database. This appears to work well so far, so finally ready to merge back to beta21 branch.