Let features request optional host permissions

Sometimes a feature requires additional host permissions to work. This
change allows features to request this.

This change has changed the structure of requiredOptPermissions in the
optionsPrototype.json5 file from being an array of string permissions to
being an object of type chrome.permissions.Permissions (an object
containing property permissions (an array of (string) permissions, as
before) and property origins (an array of (string) hosts).

Bug: twpowertools:86, twpowertools:87
Change-Id: Iacdc6f928876942e213488b12e12f950da7b7c05
diff --git a/templates/manifest.gjson b/templates/manifest.gjson
index b4f0281..e1fa94f 100644
--- a/templates/manifest.gjson
+++ b/templates/manifest.gjson
@@ -143,9 +143,12 @@
     "service_worker": "bg.bundle.js"
 #endif
   },
-#if defined(CHROMIUM || CHROMIUM_MV3)
+#if defined(CHROMIUM)
   "minimum_chrome_version": "96",
 #endif
+#if defined(CHROMIUM_MV3)
+  "minimum_chrome_version": "100",
+#endif
 #if defined(GECKO)
   "browser_specific_settings": {
     "gecko": {