Further improves thread-safety #1572

Further improvements on thread safety of the OpenAL player, however, there are still issues in most public functions:
 * setPositionMS
 * setVolume
 * getIsPlaying 
 * getIsPaused
 * getPositionMS
 * setPan 
 * setSpeed
 * setLoop
 * and FFT-related functions

The player is getting more reliable but it is still far from perfect. For my personal project I have moved to an FFmpeg based player instead.