lookupObjectFactory should consider superclasses for source type

It is not possible to register an object factory for a destination type that should be used for all source types. The problem is that the superclasses of a source type are not taken into consideration. This patch allows registrations of object factories on superclasses of source types.