REPLACED hashing names of already instrumented classes with adding of an
annotation to the modified class. Moreover changed the way the field
holding the singleton instance is determined - it is now more generic
and flexible as it does not require a specific name anymore. ADDED some
locking mechanism for the InjectionControllerImpl to avoid polling the
ReferenceQueue if no injected objects are available which could be
removed by the GC.