Took out the parser code from Settings and made a parser object

Much refactoring, Wow
Added the exec command

Obviously if the fileConfig exec itself (can also be A -> B -> A), the program will crash.
Now unbind key from all action before binding
Added an Historical class, used by the console
Can print cvar's info by preceding the name with a /
Completed the keywidget and keypanel

When a key is bound on an action, it is unbound to it's other action
This changement is now also graphical
Made the SwitchPanel

Basicaly it's a container of Widget looking like <- Content ->
They arrow let the user choose the option, option being a widget
Check for widget position relatively to the panel bounds

widget will not be updated if out of bounds
improved switchpanel's design
Merge branch 'menu' into develop

Made it compilable

Conflicts:
	client/src/TileCodex.cpp