Initial support for PortAudio using the blocking API.

This allows PortAudio to be used for sound instead of a native OS
API. It should make Synaesthesia more portable and adaptable to
future sound API changes.

There is no sound source selection, so other methods outside of
Synaesthesia must be used. PortAudio does not support the blocking
API for all host APIs. In Windows, use WMME, not DirectSound.

Like in the Windows sound driver, non-overlapping chunks are
sent to the core, limiting frame rate to sample rate divided by
chunk size. Overlapping chunks would probably be better.