Added time and level based automatic stop to a2play

Added switches -st and -sl for "stop time" and "stop level"
respectively, using a tap callback to count samples and track the
master output levels.

Still using the do_exit flag, which means polling once per second
at this point - so that's a bit coarse...

Rearranged the source code a bit, sorting functions into categories.

Prints out the actual driver sample rate, if it differs from what
was requested in the config.