README: cleanup contact section

I spotted to the grammatically incorrect "it's", and ended up redoing
parts of the section.
subprocess: minor cosmetic cleanup

Don't recursively include the whole stream.h header; only include what's
minimally needed, and handle the rest with forward declarations.
input: set mouse area by default for all input

Otherwise, mouse button bindings added by mp.add_key_binding() would be
ignored.

It's possible that this "breaks" some older scripts using undocumented
Lua script functions, but it should be safe otherwise.

Fixes #1283.
x11: fix crash with --wid=0 and vo_xv/vo_x11

But seriously, don't use --wid=0, don't use vo_xv, and _especially_
don't use vo_x11.

Fixes #1284.
x11: fix crash

Broken by previous commit. Oops.
client API: restrict client names

Use a fixed size array for the client name, which also limits the client
name in size. Sanitize the client name string, and replace characters
that are not in [A-Za-z0-9] with '_'.
input, lua: redo input handling

Much of it is the same, but now there's the possibility to distinguish
key down/up events in the Lua API.
player: don't crash when using sub_seek without subtitles

Recent regression. It turns out the assertion was completely unneeded.

Fixes #1285.
command: don't queue framesteps

If repeated framestep commands are sent, just unpause the player, instead
of playing N frames for N repeated commands.
lua, ipc: remove leftovers

MPV_EVENT_SCRIPT_INPUT_DISPATCH is now unused/deprecated.

Also remove a debug-print from defaults.lua.
lua: always handle key repeat on the script side

Simpler, and leaves the decision to repeat or not fully to the script
(instead of requiring the user to care about it when remapping a script
binding).
lua: remove redundant call
input: simplify
travis: add gcc to the build matrix

For the purpose of running Coverity correctly.

Although I'm not sure how well this works. gcc won't work on OSX, and
also I'm not sure if Coverity will act up if the build matrix has more
than 1 configuration (will it submit multiple scans?).
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.