Set up a LayerTree class to split the LayerTreeHost.

The LayerTree class is the main thread counter-part to the LayerTreeImpl, which
will own the root layer and other tree state. Data and functionality will be
incrementally moved to this class as we eliminate dependencies of internal cc
class and the embedder to LayerTree from the host.

This patch moves the Registration/Unregistration logic for maintaining a map of
layers tied to a host and tracking of dirty layers that need to push properties
in the next commit, to the LayerTree.

BUG=628683
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2159513003
Cr-Commit-Position: refs/heads/master@{#408518}
diff --git a/cc/BUILD.gn b/cc/BUILD.gn
index 8246ffc..4137362 100644
--- a/cc/BUILD.gn
+++ b/cc/BUILD.gn
@@ -497,6 +497,8 @@
     "trees/effect_node.h",
     "trees/latency_info_swap_promise_monitor.cc",
     "trees/latency_info_swap_promise_monitor.h",
+    "trees/layer_tree.cc",
+    "trees/layer_tree.h",
     "trees/layer_tree_host.cc",
     "trees/layer_tree_host.h",
     "trees/layer_tree_host_client.h",