Added SFINAE for detection of the GetType() function and the T::TypeDataStaticHolder::s_TypeData variable.
Also, changed PrivateTypeDataCreator to TypeDataStaticHolder. Easier to remember.