feat(web-gateway): WebSocket infrastructure with topic-based subscriptions
Add WebSocket support:
- ws/messages.rs: ClientMessage (subscribe/unsubscribe) and ServerMessage
(market_data, order_update, risk_alert, position_update, ml_prediction,
training_progress, metrics, config_update)
- ws/handler.rs: WebSocket upgrade with JWT validation from query param,
per-client topic filtering via HashSet, dual-task architecture
(send from broadcast, receive client commands)
- grpc/streams.rs: Background bridge tasks connecting gRPC streaming RPCs
to broadcast channel with exponential backoff reconnection.
Includes 30s heartbeat for connectivity verification.
WebSocket endpoint at GET /api/ws?token=<jwt>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>