gl_common: let backend handle vo_control, reduce number of callbacks

Instead of having separate callbacks for each backend-handled feature
(like MPGLContext.fullscreen, MPGLContext.border, etc.), pass the
VOCTRL responsible for this directly to the backend. This allows
removing a bunch of callbacks, that currently must be set up even for
optional/lesser features (like VOCTRL_BORDER).
vo_corevideo, vo_opengl_old: also use MPGLContext.vo_control
gl_common: remove unneeded backend callbacks

These are handled with vo_control() now.
video/out: introduce VOCTRL_CHECK_EVENTS for gl_common

vo.check_events is now optional. VO backends can use VOCTRL_CHECK_EVENTS
instead to implement the requirement. This has the advantage that the
event handling code in VOs doesn't have to be duplicated if vo_control()
is used.

Add support for VOCTRL_CHECK_EVENTS to all VO backends.
x11: use vo_x11_control() for all VOs
w32: use vo_w32_control() for all VOs
vo: remove vo.check_events callback

Use VOCTRL_CHECK_EVENTS instead. Change the remaining VOs to use it.
Only vo_sdl and vo_caca actually need this, and vo_null, vo_lavc, and
vo_image had stubs only.
vo_opengl, vo_opengl_old: remove separate handle_events() function
configure: map --enable-sdl2 to auto-detect

Hack to make it useable.
cfg-mplayer: fix some option flags
core: do mouse cursor hiding business in frontend

Do this so that not every VO backend has to setup a timer for cursor
hiding and interpret the --cursor-autohide option.
x11: remove cursor hiding logic, use VOCTRL_SET_CURSOR_VISIBILITY
vo_sdl: use VOCTRL_SET_CURSOR_VISIBILITY