Wires the client game layer for tournament state without touching
existing behavior:
- GameEventHandler dispatches Event_TournamentState (2027) to a new
tournamentStateChanged signal
- GameMetaInfo exposes isTournament and parentGameId over the new
ServerInfo_Game field
- PlayerEventHandler::processGameEvent is virtual and player is
protected; PlayerLogic gains a protected constructor accepting a
custom handler, so mode-specific subclasses can intercept events