Currently we leak an IconLoader for each icon for the time the system
tray is in memory.
An app may also load icons from their own directories, so we need a new
iconloader that takes this into account
This is wrapped into a subclass of iconengine so the iconloader lifespan
matches the icon object