Initial (massive) commit for the UI-refactor "drag-n-drop".  Mezzanine compiles in this state.  EngineDemo and Catch fail, unit tests is untested.
Script binding updates.
Rearranged a data member and made a doc fix.
Changed includes for the UImanager to the proper path in a number of source files.
Renamed the menu.h/.cpp to menuentry.h/.cpp to refect the new class name.  Removed the menuwindow files, and added boilerplate for the menubutton class.
Doc fixes and some code simplifications for the GameWindow class.
Lots more documentation fixes for the graphics manager and objectsettings classes.
Added some basic serialization logic to the Screen.
Minor doc fixes.
Made some refactors to classes that redefined the "ProtoSerialize" and "ProtoDeSerialize" methods.  Now there is an implmentation method where classes can define their extra logic that goes between the mandatory steps, so there is less repeat code.
Added factories for the construction of HorizontalContainers and VerticalContainers.
Various simple compile fixes and added more create methods to the GenericWidgetFactory.
Added serialization logic to the Matrix4x4 and updated it's code styling.
Finished initial implementation of the MenuButton class and it's factory.
Changed "bool" to "Bool".
Changed the confusing parenthood methods to a less confusing parenthood method.
Changed the Paged and Stacked containers so they inherit from Widget directly.  Probably going to be removing the LayoutContainer class in the future.
Cleaned up some warnings.
Changed Events so they no longer store subscribers in a multi-map in the form of groups.  It was neat to have, but got in the way of performance and other guarentees needed for the system to be used by UI widgets.
Made some minor changes to the visibility API of renderables in the UI system.  Also made additional create methods for various widgets to the Screen class.