travis: restrict build matrix further

We don't actually want to test all possible combinations; we just want
to make sure that each thing (e.g. linux/osx, ffmpeg/libav) is tested
once.

Exclude Linux + ffmpeg-stable, because ffmpeg-stable is already tested
on OSX.

Exclude clang on Linux, because OSX needs clang, but Coverity (running
on Linux) needs gcc - so we use gcc only on Linux.

I also wanted to reduce the matrix to a single configuration when
running Coverity, but apparently this is not possible.
(See travis-ci/travis-ci#1975.)
ao_alsa: try to use the channel map reported by ALSA

If ALSA reports a channel map, and it looks like it makes sense (i.e.
could be converted to mpv channel map, and the channel count matches),
then use that instead of the channel map we are assuming.

This is based on code written by lachs0r (alsa_ng branch).
audio: make mp_chmap_to_str() return a stack-allocated string

Simplifies memory management.
player: add option not to use OSD/fontconfig

Makeshift-solution for working around certain fontconfig issues.

With --use-text-osd=no, libass and fontconfig won't be initialized, and
fontconfig won't block everything with scanning for fonts.
ao_alsa: cleanups

No functional changes.

ALSA_PCM_NEW_HW_PARAMS_API was a pre-ALSA 1.0.0 thing and does nothing
with modern ALSA. It stopped being necessary about 10 years ago.

3 functions are moved to avoid forward references.
audio: make mp_audio_config_to_str return a stack-allocated string

Simpler overall.
Release 0.7.0