Less strict synchronisation.

This should fix the long start-up times for TTS because the threads were
contending for access to the playback queue. Only the operations that
need to be atomic are now synchronized.