vo_opengl: fix alpha values written to the framebuffer

When blending OSD and subtitles onto the video, we write bogus alpha
values. This doesn't normally matter, because these values are normally
unused and discarded. But at least on Wayland, the alpha values are used
by the compositor and leads to transparent windows even with opaque
video on places where the OSD happens to use transparency.

(Also see github issue #338.)

Until now, the alpha basically contained garbage. The source factor
GL_SRC_ALPHA meant that alpha was multiplied with itself. Use GL_ONE
instead (which is why we have to use glBlendFuncSeparate()). This should
give correct results, even with video that has alpha. (Or at least it's
something close to correct, I haven't thought too hard how the
compositor will blend it, and in fact I couldn't manage to test it.)

If glBlendFuncSeparate() is not available, fall back to glBlendFunc(),
which does the same as the code did before this commit. Technically, we
support GL 1.1, but glBlendFuncSeparate is 1.4, and I guess we should
try not to crash if vo_opengl_old runs on a system with GL 1.1 drivers
only.
vo_lavc: fix -ovoffset.

Previously, using it led to no single frame being output, ever.
demux_mkv: add support for HEVC

Note that you still need --vd-lavc-o='strict=-2' to enable the decoder.

Also, there's no guarantee that all required features for HEVC demuxing
are actually implemented, nor that the current muxing schema is the
final one.
ao_jack: refactoring, also fix "no-connect" option
wayland: create xkbcommon keymap from string

Fixes a problem where the passed size doesn't match the actuall string.
m_option: handle audio/filter filters with old option parsing

These use the _oldargs_ hack, which failed in combination with playback
resume. Make it work.

It would be better to port all filters to new option parsing, but that's
obviously too much work, and most filters will probably be deleted and
replaced by libavfilter in the long run.
stream: don't include linux/types.h in some files

Apparently this is not portable to FreeBSD. It turns out that we
(probably) don't use any symbols defined by this header directly, so
the includes are not needed.

Conflicts:
	stream/stream_radio.c
tvi_v4l2: let libv4l2 convert to a known pixel format

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

Significant modifications over the original patch by not overriding
syscalls with macros ("#define open v4l2open") for fallback, but the
other way around ("#define v4l2open open"). As consequence, the calls
have to be replaced throughout the file.

Untested, although the original patch probably was tested.
configure: enable v4l2 input on freebsd
gl_common: print SW renderer warning only if it was the only reason we rejected it
osx bundle: remove embedded fonts.conf

This could cause the bundle to recache stuff because of differences with
configuration of other software using fonconfig. The defaults OS X directories
should be added to fontconfig at build time (through configure).
manpage: mark DTS-HD passthough as broken
encode_lavc: add missing newline in error message
player: don't remove playback status when reinitializing DVB

Also break that line a bit.

Conflicts:
	mpvcore/player/loadfile.c
vo_vdpau: don't calculate destination alpha when drawing OSD

Same as MPlayer svn commit r36515 "Chose cheaper alpha blend equation."

No idea if this is actually faster, but can't hurt.
stream_dvb: remove bogus free calls

The priv struct is now allocated by talloc in stream.c. It doesn't need
to be manually freed, and using free() instead of talloc_free() probably
crashes.
player: deselect video track if initialization fails

This didn't have any consequences, other than suddenly reinitializing
video when it works again (such as with EDL timeline mixing video and
audio-only files).

Conflicts:
	mpvcore/player/video.c
manpage: fix typo in --video-align-y description
osdep/io.c: include config.h

This possibly enables code that has never been tested before
(accidentally), so let's hope this works out ok.
ta: fix typo in comment