WIP experiment with 95% vibe coding

feat(settings): add settings dialog with persistence master

- Add Settings dialog (Ctrl+,) with 4 tabs: Graphics, Audio, Auth, Advanced - Graphics tab: quality preset, vsync toggle, FPS limit dropdown - Audio tab: enable/disable checkbox, volume slider - Auth tab: API key status display and masked input for updates - Advanced tab: data directory path and version display - Persist settings to ~/.agent-study/settings.json with atomic writes - Add debug server endpoints: GET /settings, POST /settings/action - Support Escape key to close dialog (with simulate_escape_key for testing) - Add input validation, save error handling, volume range clamping - Update README, CONTRIBUTING, and design docs