Rationalize the top-level BUILD.gn rules a bit

Historically for reasons that are no longer relevant //mojo/BUILD.gn's
"mojo" target has been treated as the global metatarget to add new
things to, including targets in other top-level directories like
//services. This rationalizes the dependency structure in the top few
build files to more closely match the directory structure. //BUILD.gn
references metatargets in top level directories and
//{services,mojo,shell}/BUILD.gn handle references within those
//directories. This will hopefully make it clearer where to add new
//targets.

R=viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/1312763004 .
diff --git a/BUILD.gn b/BUILD.gn
index bb7dfc4..a3e4bf8 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -2,12 +2,15 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import("//build/config/ui.gni")
+
 # This target will be built if no target is specified when invoking ninja.
 group("default") {
   testonly = true
 
   deps = [
     "//apps",
+    "//benchmarks",
     "//crypto:crypto_unittests",
     "//examples",
     "//mojo",
@@ -18,7 +21,7 @@
     "//ui/events:events_unittests",
   ]
 
-  if (!is_android && !is_win) {
+  if (!is_android) {
     deps += [ "//tools/xdisplaycheck" ]
   }
 
@@ -26,6 +29,13 @@
     deps += [ "//sandbox/linux:sandbox" ]
     deps += [ "//sandbox/linux:sandbox_linux_unittests" ]
   }
+
+  if (use_ozone) {
+    deps += [
+      "//ui/ozone",
+      "//ui/ozone/demo",
+    ]
+  }
 }
 
 # Deprecated name for the default build target.