Refactored BMGame->do_next_step() to move logic for each BMGameState into separate BMGame->do_next_step_*() functions
Refactored BMGame->update_game_state() to move logic for each BMGameState into separate BMGame->update_game_state_*() functions