CHANGED the way singletons get injected. They now get both their
singleton instance field as well as their getInstance() method removed
(therefore this only works for class singletons and not for enum
singletons!). The injected code makes use of WeakReferences to enable
unloading if the plugin gets unloaded or the singleton is not used
anymore. ADDED furter a stacktrace output in case of an exception into
the log-file.