`unsafe-eval` was needed in the extension Content Security
Policy to Wasm compilation in Chrome.
This CSP setting causes the extension to get flagged in the
Mozilla Add-On Marketplace, which discourages the use of
`unsafe-eval`.
However, Chrome has a `wasm-eval` CSP setting which also allows
extensions to compile Wasm without requiring `unsafe-eval`.
Inject this into the extension manifest when building the Chrome
extension.
Eventually this may change to `wasm-unsafe-eval` as drafted by
the CSP spec and be required by all browsers.
Firefox doesn't know the manifest "version_name" key, so it shows
a warning when loading the extension.
So define "version_name" only for the "generic" variant, along with
a nearby cleanup of using a regular property assignment instead of
`Object.assign`.