Implement <webview>.addContentScript/removeContentScript API [2]

This patch includes the changes that enables
<webview>.addContentScript/removeContentScript API  work on WebUI.

-- Introduce WebUIURLFetcherGroup to manage a set of
WebUIURLFetcher and response after all fetches are
done.
-- Move WebUIURLFetcher from web_view_internal_api.cc to a
separate file.
-- A refactoring is done in UserScriptLoader and
ExtensionUserScriptLoader. Since webUI has different ways
to load user script as extension does, so I revert some old
refactoring in ExtensionUserScriptLoader and move all the
loading related code from UserScriptLoader to
ExtensionUserScriptLoader.

This is the second patch in a series of patches:
1) Implement <webview>.addContentScript/removeContentScript API [1] (https://codereview.chromium.org/959413003)
2) Implement <webview>.addContentScript/removeContentScript API [2] (https://codereview.chromium.org/1056533002)
3) Implement <webview>.addContentScript/removeContentScript API [3] (https://codereview.chromium.org/1058113002)

BUG=461052

Review URL: https://codereview.chromium.org/1056533002

Cr-Commit-Position: refs/heads/master@{#326854}
21 files changed