don't use named semaphore for syncing image loading thread

Named semaphores are unique across process bounds, therefore a semaphore
left in an invalid state may cause locks on other processes.
The code has been exchanged by using pthread mutex and condition variables
don't use named semaphore in HttpClient

this patch removes using named semaphores for Http requests.
This also destroys the mutexes from CCTextureCache when the thread is
destroyed
Merge pull request #2466 from Weeds/fix-loadAsyncImage

don't use named semaphore for syncing image loading thread