README: remove travis and coverity badges

Useless and ugly.
screenshots: set AVFrame parameters

Currently, libavcodec is rather lenient, but it might get stricter in
the future.

Fixes #1398.
cocoa: move the gl function loader to gl_cocoa.c
stream_pvr: sort channel list by --tv-channels order

Apparently this is what users would expect.

Going the way of least resistance (in terms of messing with this old,
rarely used code), sorting them by some kind of addition timestamp
(called priority in the patch) is the easiest.

Fixes #1390.
vo_opengl: Ignore approx-gamma for BT.2020-CL

The details of the non-linear transformation from/to BT.2020's constant
luminance system don't really make sense with any other gamma curve,
since changing the gamma curve completely breaks the chroma channels.
w32_common: allow window resizing with --no-border
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.
js: support both Duktape and MuJS at the same binary

If both backends are compiled into mpv then mpv will choose Duktape by default.
However, if the user specifies --script-opts=js-backend=mujs, then MuJS will
be selected (the <ext>-backend script-opts key is automatically interpreted
when the script backend defines its extension as e.g. "js:duktape").

The js-backend can even change in runtime and it would affect the next script
load - if mpv supported adding scripts at runtime (which it doesn't AFAIK).

The implementation relies on the fact that javascript.c can already configure
itself to compile in MuJS "mode" or Duktape mode, according to MUD_USE_DUK.

All that's left to do is compile it twice - with different MUD_USE_DUK values
and be happy for the fact that Duktape has a duk_ prefix for its API while
MuJS doesn't. This is done at the 4 lines mujs_shim.c which, if the conditions
match, define MUD_USE_DUK and includes javascript.c . Presto.

This also has the great added value that when working on javascript.c, it will
show compile issues with both backends, and binaries can be tested with both
backends without invoking configure and rebuilding (and especially users
could switch backends with a single binary).
js: multi-backend: use --js-backend instead of --script-opts=js-backend