[Refactor] Avoid favicon code duplication between webuis and ui menu

We introduce a new layer FaviconRequestHandler that is used by both
FaviconSource and RecentTabsMenuModel to request favicons by pageurl.
The layer first queries the local storage (FaviconService) and if that
fails then queries sync storage (FaviconCache). No behavior is changed.

Bug: 955475
Change-Id: I4836cd21cc6a7f30147c84f5de04fdef3d1a32ab
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1603563
Commit-Queue: Victor Vianna <victorvianna@google.com>
Reviewed-by: Esmael El-Moslimany <aee@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Auto-Submit: Victor Vianna <victorvianna@google.com>
Cr-Commit-Position: refs/heads/master@{#661297}
8 files changed