Add Service Worker settings and callback support in WebView.

Service Workers are not tied to WebView instances so currently
there is no mechanism to capture callbacks originating from
within Service Workers.

This patch adds the necessary classes to capture callbacks
and allows to set settings specifically for Service Workers.

The main idea is that to control service workers the embedding
app would obtain an instance of ServiceWorkerController using
ServiceWorkerController.getInstance() first. After that it would
be able to set a custom ServiceWorkerClient and change
ServiceWorkerWebSettings via the controller object.

BUG: 22709088
Change-Id: I0eb17be46b767851676b77a94757771611fa3a1b
7 files changed