This removes the ability of every IGUIObject to read, modify and possibly break CGUIs private members. (This furthers the protection of the private CGUI struct maps that were made const in rP22637)
This is achieved by making CGUI GetFocusedObject, UpdateObjects public,
by introducing public CGUI GetBaseObject, GetMousePos, GetMouseButtons, HasStyle, GetStyle getters,
and by removing the pointless IGUIObject GetMousePos proxy instead of calling it more often and changing it to const reference over copying.
Delete GetGUI() checks that are either always or never true following rP22587