Add WebAuthn MFA Support

Q1. What is the problem that you are trying to solve?
Support hardware authentication tokens via the WebAuthn (https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API) standard rather than proprietary vendor specific APIs (e.g. Yubico OTP).

Q2 - Who is impacted?
Anyone who uses a hardware authenticator.

Q3 - Why is it important and/or urgent?
Using WebAuthn rather than proprietary vendor specific APIs allows users to configure any CTAP1.0/2.0 hardware authenticator as an MFA device. This includes Yubikey (currently supported by the proprietary Yubico OTP), and many other keys from different vendors in different price ranges.

Additionally, WebAuthn is verified locally on the Passbolt server, without calling out to an external service (like the Yubico OTP servers), which removes a dependency (improving reliability) and means external HTTPs egress can be blocked (improving security).

Q4 - What is your proposed solution? (optional)
Use the WebAuthn APIs.