Make the audio skip-free (with an ugly spinlock) and refactor it a lot