function addIconProvider(callback) {
        if (!callback) {
            return;
        }
        _iconProviders.push(callback);
        // build all views so the provider has a chance to add icons
        //    to all items that have already been created
        refresh(true);
    }
Adds an icon provider. The callback is invoked before each working set item is created, and can
return content to prepend to the item.

@param {!function(!{name:string, fullPath:string, isFile:boolean}):?string|jQuery|DOMNode} callback
Return a string representing the HTML, a jQuery object or DOM node, or undefined. If undefined,
nothing is prepended to the list item.