Initial attempt to create an ALSA input (completely untested and not used yet).

This should eventually replace the libavdevice ALSA input so I can drop the libavdevice dependency.