ao: add ao_alsa_ng (rewrite)

This is basically a rewrite of ao_alsa, using the new channel mapping
API instead of trying to guess channel maps based on audio device
names. It also doesn’t prepend “plug:” to the device names, so it
fails instead of playing audio with completely wrong channel mapping.

Currently a hack with a bit of copypasted code, some of which will
be removed or rewritten in a cleaner way.

TODO: Testing on a lot of hardware (ALSA is an undocumented mess
that returns undocumented error codes), digital audio passthrough.
ao_alsa_ng: handle channel map query edge case
ao_alsa_ng: add warning for channel count mismatch