feat(profiles): add Chromium session partition isolation per profile
Implements session isolation so each Peek profile has its own isolated
Chromium session with separate cookies, storage, cache, and passwords.
Changes:
- Add session-partition.ts module to manage profile sessions
- Use persist:{profileId} partition for all BrowserWindows
- Update chrome-extensions.ts to load into profile session
- Update adblocker.ts to attach to profile session
- Add profiles:getPartition IPC for renderer webview partition
- Update page.js to set webview partition attribute
- Include migration logic for existing session data
Session data is stored at: {userData}/Partitions/{profileId}/