Update image_metrics function to work directly on string.

For everything but TIFF, there's no need to wrap it in a StringIO file
ahead of time.  Also add some basic metrics-detecting unit tests.
Player.set_output() no longer stops output.

The running PCMReader (if any) just continues sending its output to the new
AudioOutput object (whose format has been set accordingly).  This is a
little more intuitive than just stopping output outright.
Fix CoreAudio output to work on outputs with no volume controls.

This tends to happen with devices connected over DisplayPort.
Clean out a lossy file multichannel test.

Though it seemed like a good idea, checking lossy channels via test
tones and ReplayGain doesn't seem to work well in practice.
Add some ReplayGain-related TODO items.

The next version will overhaul the interface to work more like the
get_metadata()/set_metadata()/delete_metadata() methods.

This will also remove dependancy on external tools so it should more
seamlessly for formats like mp3.
Minor cleanups.
Fix Opus channel mask bug.

Fix Xing header detection to be a little more tolerant of short frames.

Clean out the player tests since they don't work with the new asynchronous
subthread interface - since .play() is not guaranteed to change the player's
state prior to returning, a test for the changed state may fail.