Add Javascript scripting support using MuJS

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

Requires MuJS (clone, make, make install):
- http://mujs.com/ - git://git.ghostscript.com/mujs.git
- Mirror - https://github.com/ccxvii/mujs

Note: MuJS is a new project and this is probably its first major use outside
of MuPDF. Please keep an eye open for bugs.
js: add Duktape support and build instructions

The support is implemented using a thin translation layer from MuJS -> Duktape
(AKA MUD) which, at compile time, translates most of MuJS APIs into Duktape's,
and adds small wrapper functions where no identical API is available.

The existing code is minimally touched and the MUD translation is applied
via mud_js.h (and controlled with MUD_HAVE_DUK).

mpv needs duktape.c and duktape.h at <mpv-src>/duktape in order to use it.

Duktape - http://duktape.org/
Sources (as archives) - http://duktape.org/download.html or after checking out
the latest tag from https://github.com/svaarala/duktape-releases.git .

Like MuJS, Duktape is also a new project, so keep an eye for bugs here too.