[Added] ScriptObject can be stored in Variant. There is a risk to this as the reference is not increased when storing it so it is only a weak reference so if the original handle is kept safe in the script it can be null
[Changed] REgister ScriptObject interface much sooner
Merge remote-tracking branch 'alexparlett/feature/variant-scripthandle'
Nullcheck ScriptObject before storing inside Variant. Code convention fix.