feat: implement usb devicd cdc descriptors, init, setup
feat: move all sending instructions to generic send functions
feat: implement most of enumeration
feat: fix usb bitmaps
feat: receive setup packets
feat: implement simple control usb read, writes
refactor: use usb descriptor common struct header
feat: usb control types definitions
wip: usb
chore: some renames
feat: add registers, pin, exti, usb_device skeleton