Fix a premature free in Connect.

User data passed to calls to (*glib.Object).Connect is marshaled
through glib as a glib.Value with a pointer type pointing to a Go
reflect.Value of the user data.  Doing this gives C code a pointer to
a Go structure.  Because the glib.Value has a runtime finalizer set to
unset the value, the underlying pointer to the reflect.Value may be
destroyed once the glib.Value goes out of Go's scope.  This change
modifies the closures map to add a pointer to this glib.Value so the
finalizer will not run.