Adds LiveSocketService, a started foreground service that holds the /ws
WebSocket open after the app is swiped away and raises system notifications
for incoming alerts and messages while backgrounded. Shown as a low-priority
ongoing "Listening" notification (channel "Live updates").
- Started/stopped together with the push toggle (Profile) and on login/logout.
- foregroundServiceType=dataSync (+ FOREGROUND_SERVICE_DATA_SYNC permission).
- START_STICKY + onTaskRemoved no-op so it survives task removal; the OS may
still kill it on explicit Force-Stop or reboot-until-reopened.
- MainShell no longer posts notifications itself (the service owns that) and
just keeps the bell count fresh; the poll remains as a catch-up.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>