demux: print a warning if stream is not seekable
cocoa: allow to disable apple remote at compile time

Actually doesn't remove the related flags so that one can still pass the
option with the option doing nothing.
cocoa: allow mouse events to bubble up with no-input-cursor

Previously we didn't report events to the core, but still prevented the events
to travel on the responder chain.
misc: add JSON parser
input: implement JSON-based IPC protocol
manpage: add JSON IPC documentation
input: implement --input-file on unix using the IPC support
old-build: adjust to latest changes
win32: make lseek() fail on pipes

On MingGW seeking on pipes succeeds.

This fix is quite similar to Gnulib's (lib/lseek.c).
win32: get rid of mp_stat in the normal source code

mp_stat() instead of stat() was used in the normal code (i.e. even
on Unix), because MinGW-w64 has an unbelievable macro-mess in place,
which prevents solving this elegantly.

Add some dirty workarounds to hide mp_stat() from the normal code
properly. This now requires replacing all functions that use the
struct stat type. This includes fstat, lstat, fstatat, and possibly
others. (mpv currently uses stat and fstat only.)
win32: clear window handle on destruction

As I understand, otherwise, the code will try to destroy the same
window again in the cleanup part of the gui_thread(), which makes no
sense and is potentially dangerous.
ipc: fix a small memory leak
DOCS/client_api_examples: qtexample: don't require Qt 5.x

Exclude the worthless Qt 5.0-only demo code on Qt 4.x.
manpage: ipc: explain security implications

It's kind of obvious, since the protocol by design has to allow you to
read (loadfile) and write (screenshot_to) random files, but better
make it explicit so that nobody accidentally does something insecure.
Revert "cocoa: perform init and uninit synchronously"

This reverts commit a0ac8b6331d345748d415cf71affbe7a90e336a6.
cocoa: reintroduce async resize

After removing synchronous libdispatch calls, this looks like it doesn't
deadlock anymore. I also experimented with pthread_mutex_trylock liek wm4
suggested, but it leads to some annoying black flickering. I will fallback to
that only if some new deadlocks are discovered.
win32: remove outdated comment
win32: remove an unneeded mechanism

Instead of relying on the macro-defined lseek(), just use _lseeki64
directly, and avoid a minor mess.
lua: add a helper to auto-free temporary C memory

Using the Lua API is a big PITA because it uses longjmp() error
handling. That is, a Lua API function could any time raise an error and
longjmp() to a lower part of the stack. This kind of "exception
handling" is completely foreign to C, and there are no proper ways to
clean up the "skipped" stack frames.

Other than avoiding such situations entirely, the only way to deal with
this is using Lua "userdata", which is basically a malloc'ed data block
managed by the Lua GC, and which can have a destructor function
associated (__gc metamethod).

This requires an awful lot of code (because the Lua API is just so
terrible), so I avoided this utnil now. But it looks like this will make
some of the following commits much easier, so here we go.
command: add "estimated-vf-fps" change notifcation