Refactor WebAuthn to share some functions with other 2F plugins
When implementing 2F::WebAuthn, I created some functions to manipulate $_2fDevices more easily
This PR is about integrating a new Lib::2fDevices role into the codebase with these functions
I will create another PR later to migrate all existing 2F plugins to use these functions