Implement IndexedDB basic subset: database lifecycle, object stores, transactions, indexes, and persistence
Adds a basic IndexedDB API implementation covering:
- Database lifecycle: open, close, deleteDatabase, version upgrades with upgradeneeded events
- Object stores: put, get, delete, clear, count, getAll with keyPath and autoIncrement support
- Transactions: readonly/readwrite mode enforcement, auto-commit with complete event, abort
- Indexes: createIndex with unique constraint, index.get for querying by non-primary key
- Structured clone: JS Value <-> IdbValue conversion for storing objects, arrays, primitives
- File-based persistence: origin-partitioned storage in ~/.we/indexeddb/ with binary serialization
- Event-driven API: deferred event firing via VM event loop (onsuccess, onerror, onupgradeneeded, oncomplete, onabort)
- Integration: DomBridge field, VM event loop drain, GC roots for pending events
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>