Fix 25 audit issues: memory leaks, concurrency, performance, accessibility
Address findings from comprehensive audit across 5 workstreams:
- Memory: Token-based DataController listeners (prevent closure leaks),
static DateFormatters, ImageCache observer cleanup, MotionManager
reference counting, FoundationModels dedup guard
- Concurrency: Replace Task.detached with Task in FeelsApp (preserve
MainActor isolation), wrap WatchConnectivity handler in MainActor
- Performance: Cache sortedGroupedData in DayViewViewModel, cache demo
data in MonthView/YearView, remove broken ReduceMotionModifier
- Accessibility: VoiceOver support for LockScreen, DemoHeatmapCell
labels, MonthCard button labels, InsightsView header traits,
Smart Invert protection on neon headers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>