Don't attempt to load with an empty filename
Decouple PortAudio from AudioDecoder.

AudioOutput now takes full responsibility for setting up PortAudio,
whereas AudioDecoder now only talks to ffmpeg.  This should make
swapping each out later easier if needs be.
Fix #6.

The AudioOutput wasn't taking the hint that there are no more packets to
decode, and sent nonexistent frames to the ring buffer.  This
is now fixed, and assertions have been added to make future regressions
more obvious.
Fix #4.

Simple, really: we weren't checking to see if the command word list was
empty.