client: cosmetics
client_api: fix the fix to a doxygen comment
options: add --no-terminal switch

Mostly useful for internal reasons. This code will be enabled by
default if mpv is started via the client API.
client: make it possible to start mpv by API

This involves messing with lots of weird details in the init code.
Although it would be nicer to have the console player's main function
use the public client API, but this turned out as too complicated. It's
better to keep these code paths separate (although most code is still
shared between them).

This is not complete yet. There are some omissions too.
Add a crappy client example

More like a basic test, rather than an example.

No build system support; you have to comment the real main function in
main.c, and then add this file to waf or the makefile.
client: allow setting a custom wakeup callback

Not sure if this is a good idea. But it sure might help the API user to
keep the client wait loop simple. For example, the wakeup callback could
be used to wake up the GUI event loop in order to make it query events
from the client API.

The possible "bad idea" in this is that the user is given a better
chance to mess up the mpv core (by blocking in the callback), or the
client API (because the callback is called from a foreign,
unsynchronized thread).