Pass WebThreadScheduler to Platform::Initialize() instead of WebThread.

This CL changes the interface of Platform::Initialize() so each embedder just
needs to pass a WebThreadScheduler for the main thread. This simplifies the
Blink initialization and reduces the necessity of WebThread in content/ and
elsewhere.

Some dirty workaround is necessary to deal with the issue on blink_platform_
unittests. This test suite does not set up a global task environment; instead,
each test sets up one in its test fixture. This does not work well with how
SimpleMainThread works. See comments in the CL for details.

Bug: 826203
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Id527762b9329ae15acfa90e64576573b992189c6
Reviewed-on: https://chromium-review.googlesource.com/1206171
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Yuta Kitamura <yutak@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592368}
20 files changed