Properly position position mixed audio data

 - Audio data was just being popped to the "front" of the mix buffer, so
   instead it now properly pops into the correct position in the mix
   buffer (proper mixing still needs to be implemented)
Detect audio timestamp jumps and reset timing

 - Often, timestamps will go "back" in time with certain..  terrible
   devices that no one should use.  When this occurs, timing is now
   reset so that the new audio comes in directly after the old audio
   seamlessly.
Merge branch 'master' of git://github.com/jp9000/obs-studio into obs-glad
Merge branch 'master' of git://github.com/jp9000/obs-studio into obs-glad
Account for thread pauses for audio data

 - In the audio I/O code, if there's a pause in the program or its
   threads (especially the audio thread), it'll cause it to sample too
   much data, and increase line->base_timestamp to a potentially higher
   value than the next audio timestamp that may be added to the line.
   This would cause it to crash originally, because it expects audio
   data that is within the designated buffering limit.

   Because that audio data cannot be filled by that data anyway, just
   ignore the audio data until it goes back to the right timing (which
   it will as long as the code that is using the line accounts for its
   current system time)
Clean up code in audio-io.c

Clean up a little bit of code that was unnecessarily nested.  Still a
little squishy but better than it was.
Merge branch 'master' of git://github.com/jp9000/obs-studio into obs-glad
Added cocoa implementation for GLAD