Use GObject type checking for instance arguments

Add a g_type_is_a check to interface/object instance arguments in addition
to the Python IsInstance check. This loosens restrictions on overrides which
don't use gi.overrides.override() and is needed to keep API compatibility
which broke with commit:
https://git.gnome.org/browse/pygobject/commit/?id=d5925b76

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