Menu code cleanups

- Separate components to sizers and widgets
- More tree-like structure for the menu system
- Generic menu component
- New API for components, new create functions. Less hassle this way.
- New components, like label and filler
- Move Arena menu to new system
- Move Dialogs to new system
- Move mainmenu to new system and split it to separate code files