Extract EventRouter from ExtensionSystem.

This patch removes event_router accessor from ExtensionSystem.
EventRouter is now a browser context keyed service.

BUG=496281

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

Cr-Commit-Position: refs/heads/master@{#332745}
diff --git a/extensions/browser/event_router.h b/extensions/browser/event_router.h
index aec74ed..6cd7df6 100644
--- a/extensions/browser/event_router.h
+++ b/extensions/browser/event_router.h
@@ -17,6 +17,7 @@
 #include "base/memory/ref_counted.h"
 #include "base/scoped_observer.h"
 #include "base/values.h"
+#include "components/keyed_service/core/keyed_service.h"
 #include "content/public/browser/notification_observer.h"
 #include "content/public/browser/notification_registrar.h"
 #include "content/public/browser/render_process_host_observer.h"
@@ -44,7 +45,8 @@
 struct EventDispatchInfo;
 struct EventListenerInfo;
 
-class EventRouter : public content::NotificationObserver,
+class EventRouter : public KeyedService,
+                    public content::NotificationObserver,
                     public ExtensionRegistryObserver,
                     public EventListenerMap::Delegate,
                     public content::RenderProcessHostObserver {