Bug 936018 - Change the way the icons are loaded to allow reentrant calls

r? @crdlc