Add GameMode enum and PlayerGameModeChangeEvent

@botskonet but isnt the GameMode limited to just players by its very nature?