cocoa: fix deadlock during initialization

Thanks to @wm4 for catching the bug.

Fixes #405
build: bump libmpg123 version

The minimum required version was bumped in the old configure script, but
for the waf build system is was somehow forgotten or overlooked.
Probably happened while the waf build system was developed in a separate
branch.

Closes #546.
cocoa: fix deadlock during initialization [2]

Fixup commit for 20fa191ad.
Factor out setting AVCodecContext extradata
sd_lavc: use mp_lavc_set_extradata()

This includes the magical input padding required by libavcodec, which we
possibly didn't do before this commit.
sub: handle vobsub-in-mp4

The mplayer decoder (spudec.c) actually handled this. There was explicit
code for binary palettes (16 32 bit values), and the subtitle resolution
was handled by video resolution coincidentally matching the subtitle
resolution.

Whoever puts vobsub into mp4 should be punished.

Fixes the sample gundam_sample.mp4, closes github issue #547.
build: Add -U__STRICT_ANSI__ to CFLAGS on Cygwin

Cygwin's libc (newlib) doesn't obey a lot of unix feature test macros,
including _GNU_SOURCE; as a result, a lot of functions and defines get
masked out -- important defines such as M_PI and strcasecmp. Work around
it by undefining __STRICT_ANSI__ on cygwin systems.

This will still cause compilation issues on any non-cygwin system that
uses newlib, but hopefully nobody does that, or if they do, they will
find this commit message and know to add -U__STRICT_ANSI__ to their
CFLAGS. Hopefully.
Parse::Matroska::Reader: get rid of `bigrat`

It seems that it was causing issues with certain perl setups (such as
the one on issue #549). It also turns out that it was not behaving correctly
(not all constants were being promoted to big nums as they should), so we
use explicit objects to derive the constants.

There were also precedence issues. I wonder if this even worked right to
begin with.

The 'double' path (8-byte floats) is untested, as I couldn't easily find
a file with such a field.

Closes #549.
sd_lavc: handle subtitles with no subtitle resolution set

Set subtitle resolution to video resolution when avctx->width and
avctx->height are zero.

This can happen with broken vobsubs that have no size set in their
.idx file (or Matroska extradata). At least with the test file provided
in issue #551, using the video resolution as fallback instead of what
guess_resolution() does is better.

Note that these files clearly are broken. It seems this particular
file was created by trying to use ffmpeg to transcode DVB subtitles
to vobsub, and ffmpeg "forgot" to set the subtitle resolution in the
destination file. On the other hand, ffmpeg DVB and PGS decoders set
the resolution on the first subtitle packet (or somewhere close), so
it's not really clear what to do here.

Closes #551.

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

Patch by xylosper, rewritten commit message by wm4.
crosscompile-mingw: improve instructions for MXE
win32: restore support for exe directory as config directory

Same rationale as b2c2fe7a but updated to work with path-win.c

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

Merges/closes #543.
w32_common: don't set small icon

Windows will automatically choose the correct icon size if this field is
unset.
edl: fix offset of user-visible chapters

Basically, chapter marks and chapter seek-points were incorrect, while
the rest worked.
player: fix start time if timeline is used (ordered chapters, EDL)

When timeline was used, and the --start option was not used, the initial
seek (needed to switch to the first timeline segment) seeked to -1 due
to an oversight.

Conflicts:
	player/loadfile.c
video: add rounding to aspect ratio calculations

Small errors are unavoidable, but truncation can cause anamorphic video
to be off by 1 or 2 pixels.
input: ignore modifiers when releasing keys

This prevents keys from getting stuck if the modifier is released before
the base key.
input: check for abort cmd in multi-commands

MP_CMD_COMMAND_LIST commands (used to implement key bindings with
multiple commands) were not checked for abort commands. Implement it.

Remove the remarks about multi-commands being special from the manpage.
Seek coalescing is handled differently now, and the issue with abort
commands is fixed with this commit.
manpage: fix yadif example in one case
example.conf: subtitle encoding

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

Closes #580.
example.conf: change subtitle codepage example to use UTF-8 fallback

This should be pretty safe compared to forcing the codepage.