hotplug initial implementation
Add Context.HandleEvents.

This writes to a channel to block until the goroutine handling libusb's
events can read it, giving the goroutine a chance to run;
otherwise with GOMAXPROCS=1 and an infinite empty main loop that
only waits for callbacks, the libusb event handler goroutine
in usb.go will never get a chance to run.
mutex in deregister
fix memory leak if callback returns true
go fmt