fix: use wide date range and local filtering for event display
CalendarService.loadEvents() replaces all cached events with only the
requested date window. The previous approach called loadEvents() on
every week navigation, causing a race with CalendarService's internal
5-minute auto-refresh (which uses narrow defaults of 31/14 days).
Key changes:
- Request wide range (180 days back, 60 days ahead) on initial load
- Navigate weeks via refreshView() which re-filters locally
- Detect when auto-refresh narrows events and re-request wide range
- Process cached events immediately on startup (before EDS is ready)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>