Remove unused Semaphore::Semaphore(val)
Rewrite semaphore for OSX
Fix strlen