options: change handling of "no-" options yet again

Commit 4a40eed "options: change handling of "no-" options" generally
improved the handling of automatically added negation options
(recognizing "--no-opt", even though only "--opt" is declared in the
option list).

Unfortunately, one corner case was missed, which broke the option
"--input=no-default-bindings" (other suboptions, e.g. VO suboptions,
were not affected, and this is the only option where this mattered).

Instead of increasing the complexity further, use a completely different
approach: add the "--no-" options at runtime, and make them behave like
real options. This approach could be considered slightly less elegant,
because the code now has to worry about some option implementation
details rather than leaving it to the parser, but all in all the new
code is simpler and there are less weird corner cases to worry about.
osd: always update already visible OSD bar on seeks

Seeks can be performed with OSD bar invisible (e.g. "osd-msg seek ..."
command), and then an already visible bar won't be updated. But the bar
will stick around until the OSD text is hidden. This is confusing, so
change it that the bar is updated. (Making the bar disappear on such
seeks would require much more changes, so we're lazy and go with this
commit.)
osd: add --no-osd-bar option to disable the OSD bar

In addition to disabling the OSD bar physically, also add some fallbacks
to OSD text in places the OSD bar would have been used.
command: give feedback on the OSD if a property is unavailable

Until now, setting a property that is not available (e.g. deinterlacing
if not using vdpau and no deinterlacing filter is inserted) silently
failed (except for a messager on the terminal). Instead show on the OSD
that the property is unavailable.
mplayer: use talloc instead of malloc for status line
osd: add --osd-status-msg option for custom OSD status
cleanup: remove duplicated function, move escape parsing function
demux_mf: fix breakage after commit 4d016a9
command: add "cache" read-only property
osd: show cache state on the playback progression display by default

This affects the "show_progress" command, by defualt on the 'P' key.

If there are complaints, I'll probably remove it again. (It looks
relatively annoying, but it also valueable information... sort of.)
mplayer: print "Cache:" instead of "C:" on the status line

Hasn't been done before because there wasn't enough space, but this
changed recently.
manpage: improve configuration file section a bit
osd: use --osd-duration for OSD bar

It was hardcoded to 1 second (which is also the default for
--osd-duration, so this was probably never noticed).
wayland: add initial wayland support

All wayland only specific routines are placed in wayland_common.
This makes it easier to write other video outputs.

The EGL specific parts, as well as opengl context creation, are in gl_common.

This backend works for:
    * opengl-old
    * opengl
    * opengl-hq

To use it just specify the opengl backend
    --vo=opengl:backend=wayland
or disable the x11 build.

Don't forget to set EGL_PLATFORM to wayland.

Co-Author: Scott Moreau
(Sorry I lost the old commit history due to the file structure changes)
wayland: add vo backend description
wayland: clean up output_geometry

Remove useless members which weren't used at all.
Add empty switch for output transformations. At the moment I don't see any use
case for this.
wayland: change if statement
wayland: rename xinerama_info to screeninfo

Follows the changes made to vo_x11_update_screeninfo
wayland: remove some memory leaks

Also rearranges some stuff
wayland: change mouse timer interval

Shorter interval for hiding the mouse cursor in fullscreen mode.