feat: preserve annotation state across login flow
Save selection and comment text before OAuth redirect/popup so users don't
lose their work when logging in while creating an annotation.
- Add PendingAnnotation type in types.ts
- Save to sessionStorage (proxy) + storage adapter (extension)
- Restore after successful login if URL matches and not expired (30 min)
- Clear pending state after successful save
- Add unit and integration tests