Writing audio first

Apparently this is the preferred method
Change to how we encode audio packets

Previously we just fed libvorbis audio samples and waited for it to
supply compressed packets, often quite a bit after the frame we sent
audio in for. Now we're pumping in samples and keep doing so until we
get the compressed packets we want.

One advantage of this is that that audio should always be available
slightly before the frame is in the WebM data stream.