Merge #5121
5121: Closes #5090: Wire up GeckoView action delegate for BrowserActions r=psymoon,Amejia481 a=csadilek
This follows the same pattern as content/background messaging, with the only difference that we have to be able to register action handlers for each extension on every session. The latter is the reason I moved the session-specific action out of the `EngineObserver` into our web extension module. Ultimately, we want to get rid of`EngineObserver` anyway once we fully migrated to browser-state.
I am also going to add a browser action to our sample-browser extension, but I will do this as part of #4791, as this PR is already pretty big.
We will get new GV API for installing extensions i.e different calls for built-in and third-party extensions. For now I've also introduced a `supportActions` boolean, similar to our `allowContentMessaging` to be able to configure per extension if we need to hook up action delegates. We really don't need that for our current extensions, so it makes sense not to register all these handlers.
Co-authored-by:
Christian Sadilek <christian.sadilek@gmail.com>