Revert "Link with -znodelete to disallow unloading"

-znodelete is causing problems on Darwin. We will use a library destructor
function to ensure proper cleanup.

This reverts commit 89a55e84b390225d2ad47a300191770e95307f05.
Add a library destructor to handle cleaning up libusb.

References #6