Move CGUI::GenerateText to CGUIText constructor, CGUI::DrawText to CGUIText::Draw, SGenerateTextImage from CGUI to CGUIText.
Makes GUI text construction 30x faster for empty strings, otherwise less than 1% faster.
Split the constructor into smaller helper functions to reduce nesting and improve readability.
Change m_GeneratedTexts from pointer to reference, so that one doesn't have to keep track to delete it correctly in several places, without having to resort to copy or move assignments but constructing in place.
Mark CGUIText as NONCOPYABLE and MOVABLE which is already implicitly the case due to the CGUISpriteInstance members, refs rP22570/D2133, D2163/rP22637.
Differential Revision: https://code.wildfiregames.com/D2168
Prepared by the GUIText.h file split in rP22643 / D2167.
Comments By: Vladislav
Tested on: gcc 9, clang 8, VS2015, Jenkins
Inlining tested using: clang -Rpass=inline and gcc -Winline