Darwin: Improve device enumeration performance

The device location is saved, and later used whenever iterating over
devices. Fixes #111 and #112.

[stuge: Formatting fixes and split out libusb_get_device_speed() change]
[stuge: Combine with patch that uses the saved device location]
1 file changed