Initial WebWorker host environment

This work is related to #11750, and is a patch to add a WebWorker hostenv from @ssimpo (CLA on file).

It contains a few basic tests. At this point, it could use feedback and scrutiny from a larger set of contributors, before we land this for 1.10.