Apply() itself to load the screen; we want to stuff it in m_sNextScreen
and let the normal screen loading code path do it. That's why we have
GetAndClearScreen.
However, GetAndClearScreen is a non-const, and applying a GameCommand
should be a const operation. It doesn't get along well with screen
reuse; once you've applied it, you've destroyed the GameCommand.
Instead, hold a flag indicating whether or not to apply screens, and
set this true on load when we handle it manually. We should probably
*always* do this, and never load a screen within GameCommand itself, so
this may go away soon (always on).