Moved to a system using variadic templates, shared with CallableBind.
New code is cleaner, faster and allows for much better optimization of core
type functions from GDScript and GDNative.
Added Variant::InternalMethod function for direct call access.
This is used to get a direct pointer for the data inside a Variant.
Added as another class instead of in Variant directly because this
should only be used in special cases, so use must be explicit.