vo_opengl: avoid texture arrays for compatibility with Intel low quality crap

Commit a0b43a1 changed textures to an array, because additional
per-texture information was needed and managing this as array is more
elegant. This broke playback on Windows with Intel drivers (window
shows green video, even though subtitles/OSD work correctly). So change
it back to make it work again.

Affected driver: Intel(R) HD Graphics 3000 9.17.10.2932
Merge branch 'master' into low_quality_intel_crap

Conflicts:
	video/out/gl_video_shaders.glsl
	video/out/vo_opengl.c
m_option: fix segfault in parse_chmap
command: simplify sub OSD update

We can just update all OSD elements in these cases. This way we can also
reuse it for commands which need to update the OSD for other reasons.
add osd-scale command

Signed-off-by: Paul B Mahol <onemda@gmail.com>

Modified to add docs for --osd-scale option, and adjusted to the
previous commit by wm4.
demux_mkv: export Matroska title element as metadata
command: use "title" tag for media-title property if available

In connection with the previous commit, this will use the Matroska title
for the media-title property.
options: add --version
options: use case-sensitive comparsion for options

This is better for consistency, and also allows using -V as alias
for --version.
options: add -V as alias for --version

This is a common convention.
mplayer: potentially fix main() return value

The main() function is special, and omitting the return statement would
make it always return 0. And also, mpv_main() actually never returns, it
calls exit() through exit_player() instead. But change it anyway,
because it looks misleading.
options: fix exit code when using help options

Basically a cosmetic change. Fixes github issue #88.
vf_dlopen examples: add framestep filter

Usage: -vf dlopen=./framestep.so:5
vf_dlopen examples: slightly simply the framestep filter

We don't need config() ;)
cocoa_common: vo_corevideo: fix window initialization

vo_corevideo doesn't create a hidden window to perform OpenGL extensions
detection. This caused the window to always stay close.
cfg-mplayer: fix some option flags
mp_image: align image allocation height

vo_vdpau actually reads past the image allocation when displaying a
non-mod 2 420p image. The vdpau API specifies that VdpVideoSurfacePutBitsYCbCr()
requires a height that is a multiple of 4, and surface allocations are
automatically rounded.

So allocate video images with rounded height. libavutil does the same,
so images coming directly from the decoder or from libavfilter are no
problem. (libavutil does this alginment explicitly, not just because the
decoded image size is aligned to macroblocks.)
manpage: document af_* commands

Except af_cmdline, which is too questionable.
video: rename VDCTRL_RESET_ASPECT to VDCTRL_REINIT_VO

Same thing, and VDCTRL_REINIT_VO implies more generic use.
vd_lavc: change VDCTRL_REINIT_VO behavior

This tried to use ctx->pic (last decoded AVFrame) for the frame bounds.
However, if av_frame_unref() on the AVFrame is called, the function will
reset _all_ AVFrame fields, even those which are not involved with
memory management. As result, mpcodecs_config_vo() was called with 0
width/height, which made the function exit early, instead of
reconfiguring the filter chain.

Go back to using mpcodecs_config_vo() directly. (That's what it did
before this VDCTRL was originally introduced; the original reason for
it disappeared.)