secondary game state added, it provides a way of displaying messages (and potentially other graphics or text) on top of the any game state(s) without having to interrupt them.
Minor downside: some parts of the code still run when they shouldn't, e.g. mouse clicks are still registered by the active game mode.
previously mentioned mouse issue fixed