Use smart pointers for application object and item plugins
Access to IconFactory and ItemFactory through ConfigurationManager
Minor fixes
Shift notifications to fill empty space
Simplify plugin interface and add Doxygen comments