feat(client): implement BoardController (spec B3.1, B4.1)
- Camera zoom/pan via _unhandled_input
- Real-time ghost tile with RulesEngine validation
- Highlight valid cells on tile selection and rotation
- Left click to commit tile placement
- MeeplePicker trigger with auto-skip if no segments available
- All GameState signals connected