Optimize posting of WTF::Closure and improve scheduler test mocks

Previously posting a WTF::Closure (which contains a
base::Closure) resulted in it getting wrapped in a WebTaskRunner::Task
which was then wrapped in a base::Closure!

We fix that here by posting the wrapped base::Closure directly.

We also and refactor the various blink scheduler mocks to use
either a real scheduler or a centralized FakeWebTaskRunner.

At Sami's request taskRunner has been renamed to
toSingleThreadTaskRunner.

BUG=638542

Review-Url: https://codereview.chromium.org/2266443002
Cr-Commit-Position: refs/heads/master@{#414834}
18 files changed