Refactor GGRC startup and main frame creation routines.

Changes in this commit:<br>* No more RELATIONSHP_TYPES or JoinDescriptor or model_descriptors<br>* WidgetDescriptor is a class you can instantiate to make widgets, with convenience functions for tree or info views<br>* Mappings is now a class, that can take mappings from multiple extensions<br>* Mappings can identify certain Direct/Indirect/Proxy mappings as "canonical" replacing JoinDescriptors<br>* WidgetList allows extensions to define their own widgets to add.  Its implementation is currently hacky but consistent with how Mappings is done.