Some CScreen classes have functions which call ChangePhase() on
CRobotMain, which in turn calls ChangePhase() on CMainDialog, which in
turn deletes current CScreen object :(.
So the fix is to keep all CScreen objects created all the time and only
keep pointer to the currently active object.
This also makes it easy to clean up dependencies between CScreen classes
and get rid of all these ugly static variables and functions.