Move thread-local store for WebThreads to Platform.

This CL moves the thread-local storage for Blink threads currently
stored in content::BlinkPlatformImpl to Platform, so that //content's
dependency to WebThread could be reduced further.

The responsibility of creating a physical thread (i.e. base::Thread)
is now shifted to Platform::CreateThread(). Platform also manages
the thread-local storage of WebThreads, making it possible for Platform
to implement CurrentThread() itself.

Platform::CreateThread() and CurrentThread() are no longer virtual;
now they are concrete functions implemented in Platform. It's a bit
unfortunate to have a fat implementation in Platform like this,
because Platform should be a pure interface to embedders. Eventually
we would like to move them to somewhere in platform/.

Bug: 826203
Change-Id: I4406c2f964f0e41e59ef367269b000e81eeb53aa
Reviewed-on: https://chromium-review.googlesource.com/1238094
Commit-Queue: Yuta Kitamura <yutak@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594221}
20 files changed