Simplification of StateMainMenu to be used as a base

Originally, I split StateMainMenu into two pieces, with this one providing the common functionality.
But a git accident ate my StateMainMenu changes.  So I'm just providing this one for now -- there's a headless subclass that uses it.  It wasn't a real clean separation in any case.