refactor: consolidate migration to BackgroundWorker with OAuth session key rename
- Add migrateIfNeeded() to BackgroundWorker for shared migration logic
- Create ProxyBackgroundWorker that composes BackgroundWorker and adds proxy-specific cleanup (service workers, IndexedDB, sessionStorage)
- Rename OAuth session key from 'synthesis-oauth:session' to 'seams-oauth-session'
- Remove migration logic from loadwabac.js (now handled by ProxyBackgroundWorker)
- Fix WebStorageAdapter to properly remove keys when set to null (instead of storing "null" string)
- Update ExtensionBackgroundWorker to compose BackgroundWorker
- Update e2e migration tests to use consolidated seams-migration-version key