Slightly change the SV ↔ C interface conversion
Slightly change the SV ↔ C interface conversion

Enums and flags are "interfaces", too, so we shouldn't treat all
interfaces as pointers.  Instead of raw pointers, thus rather use
GArguments.  Now we convert enum arguments with value 0 correctly, for
example.  This change also allows us to properly handle structs that are
passed by value.

GNOME/perl-Glib-Object-Introspection,cpanxaoc/perl-Glib-Object-Introspection,potyl/perl-Glib-Object-Introspection,cpanxaoc/perl-Glib-Object-Introspection,zpmorgan/gi,potyl/perl-Glib-Object-Introspection,zpmorgan/gi,GNOME/perl-Glib-Object-Introspection