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/release.bash b/release.bash
index 269bd4d..852e4f0 100644
--- a/release.bash
+++ b/release.bash
@@ -13,7 +13,8 @@
     -c, --channel  indicates the channel of the release. Can be "beta"
                    or "stable". Defaults to "stable".
     -b, --browser  indicates the target browser for the release. Can be
-                   "chromium" or "gecko". Defaults to "chromium".
+                   "chromium", "gecko" or "chromium_mv3".
+                   Defaults to "chromium".
 
 END
 }
@@ -54,7 +55,8 @@
   exit
 fi
 
-if [[ $browser != "chromium" && $browser != "gecko" ]]; then
+if [[ $browser != "chromium" && $browser != "gecko" &&
+      $browser != "chromium_mv3" ]]; then
   echo "browser parameter value is incorrect." >&2
   usage
   exit