writing tests and learning pyusb as a replacment for the asyncore module