class SafeGCHandle (Niantic.ARDK.Utilities.SafeGCHandle)
This class has the purpose of allowing C# objects to be passed to native code as a "handle" and then obtained back when native code calls back into C#. This is effectively the same purpose as the GCHandle struct, yet this one is somewhat safer, as it will consistently return null if we try to get a value of a freed handle, while the one from .NET might return null, might throw an exception or, even worse, might return an invalid value.