Revamp the callback handling code
Revamp the callback handling code

Don't rely on a global variable to sync callback and user data, but
instead introduce an invocation data object that persists for all
sv_to_arg invocations.  Also, try to handle different callback scopes.

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