Remove the parent device feature

It was causing problems: #4.
Don't ignore errors from libusb_cancel_transfer
Disable the asynchronous implementation when building with GHC > 7.8

The system event manager of that release has one-shot semantics which
breaks the usb library which assumes multi-shot semantics.

A fix is being developed which should hopefully be ready for a next
GHC release. See:

  http://www.haskell.org/pipermail/ghc-devs/2014-October/006682.html

When that's done we'll adapt usb to use it.
Guarantee the finalization of C'libusb_hotplug_callback_fn

This fixes #6.
Bump text upper version bounds
Refactored the newCtxWithEventManager function
Slight optimization in handleEvents
Solved some warnings
Support the one-shot semantics of the GHC 7.8 event manager
Some refactoring in newCtx
Merge branch 'master' into repeatable-transfers

Conflicts:
	System/USB/Base.hs