Add support for GCM subtypes to desktop Instance ID implementation

Adds support for subtypes to the desktop Instance ID
implementation. A follow-on patch will switch Web Push
to use subtypes on desktop. Chrome Apps/Extensions will
be unchanged.

The main benefit will be consistency between desktop
and Android - both will be able to use subtypes for the
app_id, rather than sending app_id to GCM as the
category field (package name) on desktop only. This will
avoid spamming GCM's category column with many unique
values (since each app_id that Push generates contains
a random GUID).

Part of a series of patches:
1. https://codereview.chromium.org/1832833002 adds InstanceIDWithSubtype
2. https://codereview.chromium.org/1830983002 adds JNI bindings
3. https://codereview.chromium.org/1829023002 adds fake and test
4. https://codereview.chromium.org/1899753002 fixes strict mode violations
5. https://codereview.chromium.org/1854093002 enables InstanceID by default
6. https://codereview.chromium.org/1953273002 extends the GCMKeyStore
7. https://codereview.chromium.org/1923953002 integrates IIDs with crypto
8. this patch
9. https://codereview.chromium.org/1851423003 switches Push to InstanceIDs

Also depends on
- https://codereview.chromium.org/2148163003 fix test asserts
- https://codereview.chromium.org/2217803003 EXPECT_DCHECK

BUG=533498,589461

Review-Url: https://codereview.chromium.org/2111973002
Cr-Commit-Position: refs/heads/master@{#413259}
diff --git a/components/gcm_driver/BUILD.gn b/components/gcm_driver/BUILD.gn
index db35996..f178e02 100644
--- a/components/gcm_driver/BUILD.gn
+++ b/components/gcm_driver/BUILD.gn
@@ -61,6 +61,7 @@
 
   deps = [
     "//base",
+    "//components/crx_file",
     "//components/gcm_driver/common",
     "//components/gcm_driver/crypto",
     "//components/keyed_service/core",
@@ -100,7 +101,10 @@
       "gcm_stats_recorder_impl.cc",
       "gcm_stats_recorder_impl.h",
     ]
-    deps -= [ "//google_apis/gcm" ]
+    deps -= [
+      "//components/crx_file",
+      "//google_apis/gcm",
+    ]
     deps += [ "android:jni_headers" ]
   }
 }