Adds a Combined Inbox screen that shows threads from the INBOX mailbox
of every account, sorted by date. On first launch the app starts here;
if no accounts exist yet it redirects to the accounts list automatically.
- EmailRepository: add observeAllInboxThreads() that JOINs threads with
mailboxes on role='inbox', covering both IMAP and JMAP accounts
- di.dart: add allAccountsProvider (StreamProvider for all accounts)
- CombinedInboxScreen: thread list with swipe-to-archive/delete, pull-
to-refresh, load-more pagination, per-account name display, and a
drawer for navigating to individual account mailboxes
- router.dart: add /inbox route and change initialLocation to /inbox
- Update all test fakes/mocks to implement the new abstract method
Closes#376
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>