player: don't signal an error if --stream-dump is used

The player thinks an error happened because no audio or video was played
after finishing the file, but this obviously makes no sense with stream
dumping. (error_playing follows the client API convention that negative
values are errors.)
lua: fix broken error message

luaL_error() doesn't support %.*s, because it uses Lua's own format
string mechanism that just looks like the C one. Just drop this part.
osc: always force mouse_move binding

So the OSC will still appear when using --no-input-default-bindings. It
also means it may override a user's mouse_move binding, but I guess
users who don't want the OSC should just use the --no-osc option.
input, lua: make removing key bindings work

This just kept adding bindings to the input section, rather than
defining it. One bad effect was that mp.remove_key_binding() in Lua
didn't work.
dvd, bd, osc: disable OSC while a menu is active

They interfere.

It turns out that commit b6ca4a48 actually broke this in weird ways, but
this solution is better anyway.
coreaudio: fix prints of uint32_t in log_layout
coreaudio: fix more layout prints
coreaudio: reject descriptions with too many channels

This is a fix attempt for #1279 and #1249.
input: add a hack to fix keyboard navigation with dvd/bd menu

If the user has LEFT/RIGHT/etc. bound in his input.conf, then these were
overriding the menu keys in dvdnav mode.

This hack works because the dvdnav crap happens to be the only user of
MP_INPUT_ON_TOP. If it finds a default key binding in the dvdnav menu
section, it will use that, instead of continuing search and possibly
finding the user key bindings meant for normal playback.
ao_alsa: try to fallback to "default" device if device is busy

ALSA is crap. It's impossible to make multichannel playback just do the
right thing. dmix (the default on most distros) can do stereo only, and
will refuse to play multichannel. On the other hand, if you try like mpv
(and mplayer) to open a multichannel device (like "surround51" etc.),
this will actually open a hardware device, which will either fail if
dmix is active, or block out dmix if opening succeeds.

This commit falls back to "default" (i.e. dmix) if opening a
multichannel device fails, which is a tiny step towards the right
behavior. (Although fixing it fully is impossible.)
cocoa: don't async redraw when waiting for VO redraw

This fixes the very annoying glitch where the black bars disappear for
a single frame when going fullscreen.
coreaudio: don't print layout a second time

For #1279
coreaudio: add missing \n in log line
coreaudio: don't output too many channel descriptions

for #1279 and #1249
discnav: remove redundant call

This was made the default a while ago.
osc, dvd, bd: fix mouse state when changing menu modes

The flags weren't correctly set, and the mouse cursor remained visible
after leaving menu mode.

This was apparently broken in 0.7.0 too.

Fixes #1316.
ao_alsa: hackfix mono playback

ALSA returns "FL" as channel layout when trying to play mono. mpv and
libavresample don't like this; in particular, using libavresample to
convert stereo to "FL" fails.
cocoa: don't create Dock icon for audio only files

fixes #635
cocoa: save screenshots to desktop when using app bundle

Fixes #947
demux_mkv: reject 0 TimecodeScale

Also reject anything over INT_MAX; no particular reason for this upper
bound.

Fixes #1317.