Use correct receiver object type in callbacks.

When a signal is emitted using a glib.Object's Emit method, the
receiver type of the connected closure is a glib.Object, and not the
actual type of the widget.  This change switches the receivers to a
glib.IObject interface type so either concrete type can be used.