Tempatively fix XHRProxy bug

The XHRProxy calls the optionsWatcher server as soon as it is loaded,
but the server isn't guaranteed to be loaded and thus the request can
get lost, which breaks the XHRProxy and causes all XHR requests to fail.

This CL fixes this by ensuring the optionsWatcher server is loaded
before injecting the XHRProxy to fix this issue.

Bug: twpowertools:161

Change-Id: I12ec2d018c9fa7791053807cad19a547564e2ee2
diff --git a/src/contentScripts/communityConsole/start.js b/src/contentScripts/communityConsole/start.js
index 7abbeaa..2bac9a3 100644
--- a/src/contentScripts/communityConsole/start.js
+++ b/src/contentScripts/communityConsole/start.js
@@ -12,6 +12,12 @@
 const SMEI_NESTED_REPLIES = 15;
 const SMEI_RCE_THREAD_INTEROP = 22;
 
+// The servers should be available as soon as possible, since e.g. the XHRProxy
+// already sends a request to the optionsWatcher server as soon as it is
+// constructed.
+new MWOptionsWatcherServer(kCSTarget, kMWTarget);
+new MWI18nServer();
+
 injectScript(
     chrome.runtime.getURL('xhrInterceptorInject.bundle.js'),
     /* prepend = */ true);
@@ -77,7 +83,4 @@
     injectStylesheet(chrome.runtime.getURL('css/ui_spacing/shared.css'));
     injectStylesheet(chrome.runtime.getURL('css/ui_spacing/console.css'));
   }
-
-  new MWOptionsWatcherServer(kCSTarget, kMWTarget);
-  new MWI18nServer();
 });