gir: Deal with unqualified ancestor names
When walking the ancestor tree we might end up resolving an unqualified type name. This usually implies that the type comes from the same namespace.
If the namespace has a type with the same name of the parent, for instance:
Foo.Device inherits from Bar.Device
and we get "Device" from the Foo namespace, instead of "Foo.Device", then we're going to look for "Device" in the "Bar" namespace, thus ending up in a loop.