osxbundle: fix cascading config loading

mpv does 'cascading' configs by overriding options as the config become more
important (bundle -> system level -> user level).

Unfortunately mpv also loads two sets of configs files one after the other [1].
First it looks for 'config', then for 'mpv.conf'. For this reason a mpv.conf in
ANY location will override ANY config files named config (even if the mpv.conf
is in a system path and config in a user path).

[1]: Relevant code in player/configfiles.c

    load_all_cfgfiles(mpctx, section, "config");
    load_all_cfgfiles(mpctx, section, "mpv.conf");

Fixes: #1361
manpage: lua: fix a link
stream_pvr: increase timeout, slightly better error reporting

An attempt to find out what's wrong with issue #1382.

I don't even know why a timeout would be needed; for robustness with
broken devices maybe?
stream_pvr: remove redundant log prefixes
ao_coreaudio: fix AudioChannelLayout allocations

AudioChannelLayout uses a trailing variable sized array so we need to
query CoreAudio for the size of the struct it is going to need (or the
conversion of that particular layout would fail).

Fixes #1366
Add Javascript scripting support using MuJS

Almost identical API to the Lua support, except:
- The global mp, mp.msg and mp.utils are always available
- On errors returning undefined and the error is at mp.last_error_string
- Timers are JS "standard" global set/clear Timeout/Interval/Immediate
- Supports CommonJS style module/require
- At mp.utils: read_file (any), and load_file, run_file for js files
- Global print and dump functions
- mp.options currently unsupported

Required Mujs (clone, make, make install):
- http://mujs.com/ - git://git.ghostscript.com/mujs.git
- Mirror - https://github.com/ccxvii/mujs
JS: 'reqire' was broken for scripts
JS: minor cleanups

- Stray printf's
- Remove names from anonymous functions which are unlikely
  to show on stack traces to reduce clutter
javascript: C style cleanups
options: allows javascript also when Lua is not configured
js: replace lua-opts for script-opts
pr1351: simplified file functions
pr1351: cleanups (except for unused/legacy stuff)
pr1351: remove undocumented API which the OSC uses
mu2duk-WIP
mu2duk - seems fully working after few short tests
mu2duk: comments and cleanups. TODO: support either via config
mu2duk: cleanups and refactoring
mu2duk: MUD_WRAPPER now use nargs at runtime
mu2duk: provide js backend info