Moved some of the widget hirarchy management out of the widget manager

  - Widget manager has single root widget and attaches widgets to it
  - Widgets can detatch themselves from their parent
     -> No dedicated "remove widget" functions
  - Widgets can add children to themselves
Added generic "sgui_widget_destroy" function for convenience

  - No longer specific "sgui_*_destroy" functions
  - Uses internal "destroy" callback