Merge pull request #1294 from dorkster/fixes

Fix memory leak in config menu; fix crash when changing map with allies, no mouse move when talking to npcs
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
(video, audio, interface, input, keybinds, mods)
- Attribute documentation has been added for menus/config.txt