parser-cfg: fix profile-desc

Printed "error parsing option profile-desc=..." when using that inside
of profile sections. This happened because we now check the presence of
an option before setting it, and profile-desc is not an option, but
special cased in the config parser.
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.
wayland: use smaller interval while repeating keys

Use 2 Interval times one for pressing keys and then entering key
repeating and a second one if the same key is pressed longer.

This makes seeking faster with the arrow keys and doesn't repeat other keys
(e.g.: pausing or going fullscreen)
wayland: improve build check
wayland: remove container_of

There was already a pointer to the container, but it was unused.
wayland: Add backend description to man page
wayland: add proper comment about resizing
wayland: improve coding style
wayland: use mpvs new key definitions
wayland: respect --screen for fullsreen mode

This will use the output selected by the --screen flag for fullsrceen mode.
If --screen is omitted it will try to use the current output.
wayland: don't recreate context

If the EGL context already extists then don't recreate it.
wayland: use fullsrceen flag
wayland: fix key repeat bug
wayland: rework epoll handling

Simplifies some functions and structures. Also use different name for tasks
because this could create conflicts with other backends.

This uses epoll_fd now instead of display_fd. This change fixes a key repeat
bug while pausing.