Add support for Manifest V3

Manifest V3 (MV3) is a new version of the manifest.json file, which also
comes with several API changes:
https://developer.chrome.com/docs/extensions/mv3/intro/

Therefore, this change does the following:

- Add a new target to the Makefile and release.bash scripts called
  "chromium-mv3-beta"/"CHROMIUM_MV3" which target Chromium using
  Manifest V3.
- Adapt the manifest.gjson template so it is compatible with Manifest
  V3 when the target is "CHROMIUM_MV3".
- Adapt the source code (change the background page to a service
  worker and change chrome.browserAction.* to chrome.action.*).

Also, the following change has been done:

- The "gecko-beta" target in the Makefile has been removed because in
  the end we never released beta versions for Firefox, due to the small
  user base there.

Change-Id: Ibedcd6651cd23aa3db359a1ef7c7b96a232f39a7
diff --git a/Makefile b/Makefile
index a2fb83e..c630cf7 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
-.PHONY: all chromium-stable chromium-beta gecko-stable gecko-beta clean
+.PHONY: all chromium-stable chromium-beta chromium-mv3-beta gecko-stable clean
 
-all: chromium-stable chromium-beta gecko-stable gecko-beta
+all: chromium-stable chromium-beta chromium-mv3-beta gecko-stable
 
 chromium-stable:
 	bash release.bash -c stable -b chromium
@@ -8,11 +8,11 @@
 chromium-beta:
 	bash release.bash -c beta -b chromium
 
+chromium-mv3-beta:
+	bash release.bash -c beta -b chromium_mv3
+
 gecko-stable:
 	bash release.bash -c stable -b gecko
 
-gecko-beta:
-	bash release.bash -c beta -b gecko
-
 clean:
 	rm -rf out