Added audio classes, including an incomplete RingBuffer implementation using QSemaphore