Change boxed type checking in marshaling to use __gtype__ attribute

Replace usage of pyg_boxed_check(pyboxed) with g_type_is_a and
pyg_type_from_object. This has the effect of using the __gtype__
attribute stashed on object class instead of the PyGBoxed
internally held gtype. This fixes type descrepencies for objects
marshaled into overridden signal class closures and passed back
to functions taking an alias their type.

https://bugzilla.gnome.org/show_bug.cgi?id=707140