Add ChromeAppIconLoader back to Load icons for extensions in Shelf.

There are some special extensions, e.g. hangouts, pen-as-Popup and
Speakeasy, opening windows when launch. But extensions are not managed
in AppService, so extensions icons are not added to Shelf when launch
those extensions.

Add ChromeAppIconLoader back to Load icons for extensions in Shelf.
Add LauncherExtensionAppUpdater to handle the extensions life-cycle
events.

BUG=1041493
BUG=b:147424621

Change-Id: Ia30440568c0920060aac479ad92ee54f81fceb7f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2006847
Commit-Queue: Nancy Wang <nancylingwang@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#733809}
7 files changed