Add native hard and soft reference types for scene objects that implement
a scripting interface:
- ScriptingObjectInterfaceReference<T>
- SoftObjectInterfaceReference<T>
Required by platforms that will use mono under the hood for .Net 7
New `USE_CSHARP` define for C# ability
Engine doesn't use `mono_*` apis directly but via MCore/MClass/MMethod/ apis