This change includes a large rework of the scene outliner to make it more expandable and flexible with what data it supports.
Tree items now support visitation to allow for external logic on custom columns etc without having to type check and cast.
Sorting has been overhauled to be more flexible and efficient. It now supports correct lexical comparison for numbers.
[CL 2354514 by Andrew Rodham in Main branch]
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN
[CL 2329610 by Wes Hunt in Main branch]