Previously, there were 2 problems on ref/unref of unmanaged handle of
- ref and unref may not be matched for unmanaged handle
- MarshalEo.MarshalManagedToNative with OwnTag (@owned in eo) ref the unmanaged handle but there is no way to unref it later.
- unmanaged handle can survive until GC collects the memory
Now, unmanaged handle is unref manually after EFL_EVENT_OWNERSHIP_UNIQUE
is called in efl_unref. Moreover, _efl_unref_internal decreases
user_refcount if it is unmanaged handle of language bindings and it is
supposed to be free.
By the above fix, unmanaged handle of language bindings is free manually