Adding beginnings of AudioDispatchThread. The plan is to funnel all audio
calls for all clips through a queue, with a thread handling the queue. There
are five possible calls now, play(), loop(), stop(), pause(), and resume().
Without this sort of order the code is going to get extremely difficult to
understand and debug.