Interface-izes TaskGraphRunner and moves implementation helpers to TaskGraphWorkQueue.

There are two new classes:
SynchronousTaskGraphRunner - used in some tests and by LayerTreeHostImpl
SingleThreadTaskGraphRunner - used in a number of tests (wrapped by TestTaskGraphRunner) and by GpuProcessTransportFactory and CompositorImplAndroid.

Additionally RasterWorkerPool has been re-worked to use the new helper.

BUG=
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review URL: https://codereview.chromium.org/1449133002

Cr-Commit-Position: refs/heads/master@{#362338}
diff --git a/cc/BUILD.gn b/cc/BUILD.gn
index 9e72e3e9..60ac70c 100644
--- a/cc/BUILD.gn
+++ b/cc/BUILD.gn
@@ -365,8 +365,14 @@
     "raster/raster_buffer.h",
     "raster/scoped_gpu_raster.cc",
     "raster/scoped_gpu_raster.h",
+    "raster/single_thread_task_graph_runner.cc",
+    "raster/single_thread_task_graph_runner.h",
+    "raster/synchronous_task_graph_runner.cc",
+    "raster/synchronous_task_graph_runner.h",
     "raster/task_graph_runner.cc",
     "raster/task_graph_runner.h",
+    "raster/task_graph_work_queue.cc",
+    "raster/task_graph_work_queue.h",
     "raster/texture_compressor.cc",
     "raster/texture_compressor.h",
     "raster/texture_compressor_etc1.cc",
@@ -653,6 +659,8 @@
     "test/surface_aggregator_test_helpers.h",
     "test/surface_hittest_test_helpers.cc",
     "test/surface_hittest_test_helpers.h",
+    "test/task_graph_runner_test_template.cc",
+    "test/task_graph_runner_test_template.h",
     "test/test_context_provider.cc",
     "test/test_context_provider.h",
     "test/test_context_support.cc",
@@ -809,7 +817,8 @@
     "quads/draw_quad_unittest.cc",
     "quads/render_pass_unittest.cc",
     "raster/scoped_gpu_raster_unittest.cc",
-    "raster/task_graph_runner_unittest.cc",
+    "raster/single_thread_task_graph_runner_unittest.cc",
+    "raster/synchronous_task_graph_runner_unittest.cc",
     "raster/texture_compressor_etc1_unittest.cc",
     "raster/tile_task_worker_pool_unittest.cc",
     "resources/platform_color_unittest.cc",