Simplify and fix callback user data.

This change introduces a fix for a panic experienced when passing user
data to a callback closure connected with Object.Connect.  Rather than
passing the Go var through the glib runtime as a GValue with a Pointer
GType to a Go reflect.Value, a pointer to the reflect.Value is saved
directly with the callback context.  After all glib args are exhausted
when creating the arguments for the reflected func and if the saved
user data is non-nil, it is added as the last argument.

As all glib callbacks are now created without user data, the
_g_closure_new_with_data C function (a wrapper around
g_closure_set_meta_marshal and goMarshal) has been removed.