Reland "[ios] extract JS injection from web controller"

This is a reland of 950edae370f90408bef24e5084ff0739788708a4

Original change's description:
> [ios] extract JS injection from web controller
> 
> Moved JS injection relative code to a new class in crw_js_injector.
> Updated CRWJSInjectionEvaluator to have a executeUserJavaScript that
> seemed to logicaly have been there already.
> 
> Bug: 954137
> Change-Id: I3a80c995de82329f22532d791c20d84b9ecbfe46
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1571703
> Commit-Queue: David Jean <djean@chromium.org>
> Reviewed-by: Eugene But <eugenebut@chromium.org>
> Reviewed-by: Mike Dougherty <michaeldo@chromium.org>
> Reviewed-by: Mark Cogan <marq@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#657195}

Bug: 954137
Change-Id: I1b4950cc3bf5c7ebe0f38b82c080324bd42c845f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1601051
Commit-Queue: David Jean <djean@chromium.org>
Reviewed-by: Mike Dougherty <michaeldo@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661292}
12 files changed