adds support for multiple game rooms
game can now be played in multiple rooms simultaneously. Refactors player-room handling
disconnecting players are now handled correctly
game stops when a player leaves
separates functions and variable access to make it easier to split into modules