Refactor|libcommon|Menu: Separated menu component from hu_lib.h

Moved most of the menu component definitions to new headers. Split
widget variants for cvar-editable widgets into new components.
Various refactorings to improve the object-orientation.

Todo: Cleanup