refactored GUI

added GameStateManager classes from which the GUI classes take the
information to draw. The GUI classes now don't listen to events, but
retrieve the information from the GameState classes
refactored Player

added events PlayerActionSuccess and PlayerActionFail for listeners to
better distinguish and avoid if statements in the listening method