stream_bluray: fix bd:// url segfault introduced by commit bc1d61
demux_subreader: report what subtitle format has been found
demux: move demux_mf before demux_subreader

demux_subreader is quite aggressive, and sometimes detects random
strings in EXIF as subtitle text.
changes.rst: document some OSX and windows changes
x11: fix --ontop

Apply it after mapping.
sub: fix accidental subtitle overlaps

The fix_overlaps_and_gaps() function in dec_sub.c fixes small gaps or
overlaps between subtitle events. However, sometimes it could happen
that the corrected subtitle events could overlap by 1ms due to bad
rounding, making libass shift subtitles to reduce collisions. (The
second subtitle will be shown above the previous one, even if both
subtitles are visible only for 1ms.)

sd_ass.c rounds the timestamps when converting to integers for unknown
reasons. I think it would work fine without that rounding, but since
I have no clue why it rounds, and since it could be needed to ensure
correct timestamps with ASS subtitles demuxed from Matroska, I'd rather
not touch it. So the solution is to use already rounded timestamps to
calculate the new subtitle duration in fix_overlaps_and_gaps().

See github issue #182.
vdpau: fix compilation on Libav

Libav's <libavcodec/vdpau.h> header uses some libavocdec symbols without
forward-declaring them and without including the headers declaring them.
FFmpeg's header for this is fine.
manpage: fix incorrect ao_alsa example, extend changes.rst

One example in ao.rst used the old syntax with mangled device names.
Fix it. Mention some shell related caveats. Explicitly mention the
change of device name syntax in changes.rst, because it seems to be
a common issue.