Restricted the size-capabilities of Label.

It now has to follow a size defined by its input string. It is no longer
possible to specify a different size than what the object itself calculates.

For cases where such features are needed, more classes will be added later.
Removed Child feature from Widget.
Added get_widget() to Label. Removed Label destructor.
Added missing Widget constructor.
Implemented free helper functions.
Changed all Label's constructors. Changed parameter order system.

The change in parameter order is simply always expecting the parent widget (if
any) first. This way we can avoid having to deal with complex template
inspections.

Implemented proper overloaded and var-templated constructors for Label.