Fix shell_apptest for android.

This CL introduces mojo/tools/embed/rules.gni that allows to embed a
file in the data section of an object file. It refactors icu_data to use
this, and uses it in shell_apptest to bundle the ping application.

R=abarth@chromium.org, davemoore@chromium.org

Review URL: https://codereview.chromium.org/979043003
diff --git a/shell/BUILD.gn b/shell/BUILD.gn
index e20c0e5..8e0e5ff 100644
--- a/shell/BUILD.gn
+++ b/shell/BUILD.gn
@@ -6,6 +6,7 @@
 import("//mojo/public/mojo.gni")
 import("//mojo/public/mojo_application.gni")
 import("//mojo/public/tools/bindings/mojom.gni")
+import("//mojo/tools/embed/rules.gni")
 import("//testing/test.gni")
 
 # We don't support building in the component build since mojo apps are
@@ -507,6 +508,17 @@
   }
 }
 
+embed_file("embed_pingable") {
+  source = "$root_build_dir/pingable_app.mojo"
+  namespace = "mojo"
+  variable = "kPingable"
+  testonly = true
+
+  deps = [
+    "//shell/test:pingable_app",
+  ]
+}
+
 mojo_native_application("apptests") {
   output_name = "shell_apptests"
 
@@ -528,10 +540,8 @@
     "//services/http_server/public",
     "//services/http_server/public:util",
     "//shell/test:bindings",
+    ":embed_pingable",
   ]
 
-  data_deps = [
-    "//services/http_server:http_server",
-    "//shell/test:pingable_app",
-  ]
+  data_deps = [ "//services/http_server:http_server" ]
 }