Split GameStateConfig for use with different platforms

- The goal here is to reduce the number of #ifdefs and allow unique
config menus for other platforms
- GameStateConfigBase provides the minimum config menu (audio,
interface, mods)
- GameStateConfigDesktop provides what has been the "full" config menu
and it inherits GameStateConfigBase
- Attribute documentation has been added for menus/config.txt