This provides a much safer semaphore than the QSem, QSemN, SampleVar in
base. Those base modules are not exception safe and can be broken by
killThread.

Homepage:
http://hackage.haskell.org/package/SafeSemaphore
