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]