More adjustment to new audio code

Changed it so that timestamps do not "reset" if under the expected
value.  Seems that doing this prevent a lot of timestamp "jumps" and
allows data to flow far more smoothly, as long as it's within the
expected broundries.

Had to make a ridiculous hack to get more usable variables in the class
without breaking API.  It's a totally disgusting hack, but it works.
Replaced the AudioSource::resampler variable to be a pointer to newer
variables.  The reason this hack had to be done in the first place is
because I directly exposed data in the base class instead of using a
forward.  Forward pointers are always far more safe and prevent API
breakage.  This is one thing I really dislike about C++, you modify the
class what so ever and it will break API.  I just don't like C++ when
used for libraries, but again I could have avoided it by simply handling
it better, so it was really my fault for having been so careless with it
in the first place.