Add USB support
Adds USB support in concert with pybricks/pybricks-micropython#208
@dlech This adds enough functionality to push programs. I'm still working on receiving data from the device.
I added a branch with a few more changes here: https://github.com/pybricks/pybricksdev/tree/dlech-usb
@dlech This now processes stdout and status messages. Marking as ready for review.
Cool! It will probably be a few weeks before I can have a close look.
New patchset using transport composition class. Still uses UUIDs instead of separate endpoints.
64931654e1fa563233f5434db114831b1d4c5858 is going to be a disruptive breaking change. I agree it is better to do things in the constructor but I am undecided if it is that much better that it is worth breaking people's programs.
Edit: after reviewing the code and seeing how many projects on GitHub are using pybricksdev, I'm thinking it would be best not to make this particular change.
Waiting for command responses now works. I need to clean up the pybricks-micropython code a bit and will then push that up.