Add an generic icon fetcher that can be used by any widget and re-uses the main threadpool. * Make threadpool more generic usable. * Add generic icon fetcher, that caches icons. * Make DRUN use this fetcher. * Add icon widget. #809