Allow ownership transfer of more structured types
We currently only allow full transfer of ownership for registered boxed types because we know how to manage their memory thorugh the GBoxed API.
Starting with gobject-introspection 1.76 we also have annotations for copy and free functions associated to records and unions, so we should include those into the introspectable pass checks.