Major structural code modifications

* Changed Race.next to return a ScreenStatus<Race> instead of a
option<Race>
* Rewrote Game.next to use ScreenStatus better (`next' functions can
now return ScreenStatus and it will be used)