This patch makes the following classes NONCOPYABLE:
CChartData, CGUIList, CGUISeries, COListColumn, GUITooltip, SGUIMessage, SSpriteCall, STextCall, SFeedback, IGUISetting, CGUISetting, GUI, IGUIObject, IGUIScrollBar.
This is to have the compiler enforce that people don't write code copying these instances when const references should be sufficient for their purposes.
Adds comment for the classes which do copy for convenience and because they only contain primitives.
The list encompasses almost every GUI class, except few Text and Sprite structures which need further changes.
Drop the copying GetSetting and SetSetting template functions for CGUIList, CGUISeries, CClientArea, CGUIString so that the faster pointer variant is preferred.
Drops a copy when reading COList columns.
Drops one copying GUI<CClientArea>::GetSetting call in IGUIObject::UpdateCachedSize() and four copying GUI<CGUIString>::GetSetting calls in SetupText() functions in preference of GetSettingPointer.