Add GameMode enum and PlayerGameModeChangeEvent

`public`s not needed