demux: fix a comment

Don't refer to fields that were removed.
vf_vapoursynth: resolve paths relative to home/config

This affects the script filename passed to the filter. Resolve "~" (and
some other variants) as described in the "Paths" section of mpv.rst.
vf_vapoursynth: don't error if invoke() doesn't return a clip

Not all functions are for creating filters. Consider for example
LoadPlugin.
x11: don't wait for asynchronous X resizing with window-scale

Instead of letting the window-scale property return the old value until
X11 actually executed the resize, just set the new assumed internal
window size immediately. This avoids a "lag" between setting and reading
the window-scale property, like OSD controls typically do.

Remove the additional calls from vo_x11_highlevel_resize() - they're
pointless and slightly wrong, and resize events will take care of
updating these things correctly anyway.

Fixes #1176.

("window-scale" works via VOCTRL_[S|G]ET_UNFS_WINDOW_SIZE.)
vf_vapoursynth: add debug message when returning error from GetFrame

Some filters still (or will) behave badly on these errors, so explicitly
log when it happens.
demux_mkv: fix undefined behavior

With some files, the extradata variable can remain uninitialized, but
will be used for memory access.

CC: @mpv-player/stable (with high priority)
audio/out: add "auto" pseudo-device

Also, don't set an empty string for the fallback device if an AO doesn't
list any devices.
ao_openal: implement device listing
ao_portaudio: implement device listing
ao_dsound: implement device listing
ao_wasapi: implement device listing
ta/README: fix typos
client API: add qthelper.hpp

This provides some helper functions and classes for C++/Qt. As the top
of qthelper.hpp says, this is built on top of the client API, and is a
mere helper provided for convenience.

Maybe this should be a separate library, but on the other hand I don't
see much of a point in that. It's also header-only, but C++ people like
such things. This makes it easier for us, because we don't need to care
about ABI compatibility.

The client API doesn't change, but bump it so that those who are using
this header can declare a proper dependency.
DOCS/client_api_examples: qtexample: stuff

Dump chapters and track list to the log for demo purposes.

Compile in debug mode.
client API: qthelper: fix bugs

Pretty dumb oversights.
DOCS/client_api_examples: qtexample: remove debugging code

Forgotten.
player: fix --frames

This could produce an extra frame, because reaching the maximum merely
signals the playloop to exit, without strictly enforcing the limit.

Fixes #1181.

CC: @mpv-player/stable
client API: allow returning float properties as integers

I'm starting to think that being type-strict with this interface
actually sucks. This commit is a step towards being less strict.
osd: properly redraw external overlays when they are set
stream_lavf: expose concat://

Apparently there's an use for this; see #1178.

I won't redocument obscure FFmpeg features, so add a hint to the
manpage that some protocols are documented in FFmpeg instead.