Reduced cross-header dependencies.
Thinned down the public interface so that user projects aren't polluted with SFGUI's internal symbols.
Moved private static member variables into anonymous namespaces, got rid of superfluous virtual when a method is already declared with override.