* Rename WebSocket message types for better organization
* Improve state handling with dedicated methods like broadcast_state
* Restructure frontend components and remove unused code
- Replaced scattered message strings with `DraftMessage` `StrEnum` and
numeric `DraftPhase` `IntEnum` for clear, centralized definitions.
- Added Python→JS constants sync via `scripts/generate_js_constants.py`
to ensure backend/frontend parity.
- Refactored WebSocket consumers to use `broadcast.*` and
`direct.message` handlers with `_dispatch_broadcast` for consistent
event delivery.
- Enhanced `DraftStateManager` to store `draft_index` and explicitly
manage `connected_participants`.
- Added colored logging config in settings for improved debugging.
- Frontend: split UI into `ParticipantList` and `DraftMoviePool`,
extracted message handlers (`handleDraftStatusMessages`,
`handleUserIdentifyMessages`), and updated components to use new
message/phase enums.