video: add VapourSynth filter bridge

Mainly meant to apply simple VapourSynth filters to video at runtime.
This has various restrictions, which are listed in the manpage.

Additionally, this actually copies video frames when converting frame
references from mpv to VapourSynth, and a second time when going from
VapourSynth to mpv. This is inefficient and could probably be easily
improved. But for now, this is simpler, and in fact I'm not sure if
we even can references VapourSynth frames after the core has been
destroyed.
client API: add mpv_get_wakeup_pipe convenience function

Should make integreating with some event loops easier. Untested.
lua: wrap mpv_get_wakeup_pipe()

Pretty much experimental for issue #661.
lua: make it easier to integrate with foreign event loops

We provide some "official" utility functions for this.
manpage: lua: separate "advanced" functions into a separate section

This will be less confusing.
manpage: vf_vapoursynth: document what happens on seeking

Unfortunately, reloading on seeking causes real problems.
vf_vapoursynth: error out early if the file sub-option is not set

Instead of crashing by possibly passing a NULL pointer to VapourSynth.
vf_vapoursynth: print an error if VapourSynth returns an unknown format

Apparently there is no real format negotiation, so this can actually
happen.
command: add paused-for-cache, total-avsync-change, drop-frame-count properties

This is needed if you want to reimplement the status line in lua

I could only test drop-frame-count because I didn't find an easy way to
trigger paused-for-cache and total-avsync-change

Signed-off-by: wm4 <wm4@nowhere>
player: hack to fix --msgmodule --term-osd-bar

Basically a cheap hack to fix that the --msgmodule prefix will cause an
unwanted linebreak by making the line too long.

Suggested by Hamuko in github issue #710.

Fixes #710.
wayland: don't schedule resize if going fullscreen

mpv was resizing to the same size before it went to fullscreen, we don't need to schedule a resize because the compositor will send a configure event with the new dimensions and thats when we should do it.
player: remove ASX, SMIL and NSC playlist parsers

These playlist parsers are all what's left from the old mplayer playlist
parsing code. All of it is old code that does little error checking; the
type of C string parsing code that gives you nightmare.

Some playlist parsers have been rewritten and are located in
demux_playlist.c. The removed formats were not reimplemented. ASX and
SMIL use XML, and since we don't want to depend on a full blown XML
parser, this is not so easy. Possibly these formats could be supported
by writing a very primitive XML-like lexer, which would lead to success
with most real world files, but I haven't attempted that. As for NSC, I
couldn't find any URL that worked with MPlayer, and in general this
formats seems to be more than dead.

Move playlist_parse_file() to playlist.c. It's pretty small now, and
basically just opens a stream and a demuxer. No use keeping
playlist_parser.c just for this.
mp_tags: move generic mp_tags stuff into its own .c/.h files in common/

rename add_metadata to the more genera/descriptive mp_tags_copy_items_from_av_dictionary

Signed-off-by: wm4 <wm4@nowhere>
talloc README: more human readible api reference
vf: add vf_control_by_label to send vfctrl to specific filter
vf: auto-label video filters if no label is specified

Signed-off-by: wm4 <wm4@nowhere>
vf_lavfi: fix ffmpeg deprecation warning for avfilter_graph_parse

use avfilter_graph_parse_ptr for ffmpeg
vf_lavfi: copy AVFrame metadata into vf_lavfi priv

store it as mp_tas and add VFCTRL_GET_METADATA to access it from elsewhere

Signed-off-by: wm4 <wm4@nowhere>

old-configure test by wm4.
command: add vf-metadata property

This is a read-only property that uses VFCTRL_GET_METADATA
to retrieve mp_tags metadata from a filter specified by label

Signed-off-by: wm4 <wm4@nowhere>
TOOLS: vf-metadata: lua cropdetect example script

Signed-off-by: wm4 <wm4@nowhere>