feat: MQTT client replaces WebSocket (Phase 2)
- New MqttService with mqtt_client package on port 1883
- Drop-in replacement for WebSocketService (same callback interface)
- Subscribes to all pailot/# topics per MQTT spec
- Topic-based routing: messages, typing, screenshots, control
- Persistent client ID (pailot-{uuid}) in SharedPreferences
- Auto-reconnect handled by mqtt_client natively
- Message dedup via mid (message ID) set
- MQTT token field added to settings and ServerConfig
- WebSocketService kept but unused (Phase 3 removal)
1 files added
6 files modified