SharedWorker: Factor out WorkerReportingProxy impl from WebSharedWorkerImpl
WebSharedWorkerImpl is a heavily threaded class. Some methods are called on the
main thread, while others are called on a worker thread. This often confuses my
This CL factors out a part of WebSharedWorkerImpl that implement
WorkerReportingProxy and are called on a worker thread into
WebSharedWorkerReportingProxyImpl. Even with this cleanup, some methods called
on a worker thread still remain in WebSharedWorkerImpl, but this would somewhat
mitigate the situation and make threading boundary clearer.