Improve gdl (un)locking capatibility integration.

 * Improve UiElement class.
    - Drop element_name field and replace it with generic get_name() method.
    - Connect locking and unlocking signals directly within base constructor.
    - Add (un)locking signals to MainWidget. In order to connect from
      UiElement to MainWidget, split initialization in two parts:
        * The first part builds up base stuff like main dock, main menu, main
          toolbar.
        * The second part initialize alle UiElements, menu items and tool
          buttons. This step will be the plugin loading part in future.
    - Add option to disable (un)/locking capatibility by setting locking
      field (use this with UiSourceViewer);
 * Make IdeModes enum a flag enum to combine multiple values easily. Add some
   helper methods.
 * Change ProjectBrowser label to currently used project.
 * Drop no longer needed UiElementPool.
 * Work arround gtk issue with Widget.remove assertion.
 * Reanable menu.
 * Use standardized names for gdl items (wdg_*).
 * Add some docstrings.