USB HID enumeration for FIDO / security-key devices.
On Linux this enumerates /dev/hidraw* device nodes by reading sysfs
metadata — no external dependencies, no ioctls, no device-open required.
That keeps enumeration root-free and means it works even when the user has
not yet installed the udev rules in udev/70-keyroost-fido.rules.
On macOS and Windows it uses the hidapi crate (IOKit / hid.dll),
selected automatically off Linux. The hidapi-backend feature forces that
path on for building/testing the cross-platform backend on Linux too. USB
topology (usb_bus/usb_address) is only available via the sysfs backend.