Refactor extension to webpack

This change is the biggest in the history of the project. The entire
project has been refactored so it is built with webpack.

This involves:
- Creating webpack and npm config files.
- Fixing some bugs in the code due to the fact that webpack uses strict
mode.
- Merging some pieces of code which were shared throughout the codebase
(not exhaustive, more work should be done in this direction).
- Splitting the console_inject.js file into separate files (it had 1000+
lines).
- Adapting all the build-related files (Makefile, bash scripts, etc.)
- Changing the docs to explain the new build process.
- Changing the Zuul playbook/roles to adapt to the new build process.

Change-Id: I16476d47825461c3a318b3f1a1eddb06b2df2e89
diff --git a/playbooks/lint/run.yaml b/playbooks/lint/run.yaml
index c4dba19..fd6ff96 100644
--- a/playbooks/lint/run.yaml
+++ b/playbooks/lint/run.yaml
@@ -1,6 +1,7 @@
 - hosts: all
   roles:
-    - role: generate-ext-manifest
-      target_browser: "GECKO"
+    - role: build-extension
+      make_target: build_test_extension
     - role: web-ext-lint
+      source_dir: "dist/gecko"
       extra_lint_flags: "--ignore-files sw.js"