ModelComponent WindowBuilderPro support

-WindowBuilderPro passes null into the ModelComponent constructor
-If null is passed in we need to handle it properly by not trying to
dereference the model pointer
Merged models

-Add model components panel which is the surface that model components
are added to
-Layout model components nicely with the HorizontalFlowLayout
-Create a merged model components that is the ui for merged models