input: print an error if reading input.conf fails

stream_read_complete() fails if the file is larger than the requested
maximum size. But input.c didn't check for this case, and no indication
that something went wrong was printed.
vo/x11_common: do not select motion events when --no-mouse-movements is set
player: fix buggy error condition when loading mpv.conf
Install encoding-profiles.conf by default

This is probably useful.

Note that this includes a small, stupid hack to prevent loading of the
config file if vf_lavfi is not available. The profile by default uses
vf_lavfi, and the config parser will output errors if vf_lavfi is not
available.

As another caveat, we install the example profile even if encoding is
disabled (though we don't load it, since this would print errors).
build: disable SDL by default

old-configure already behaves like this. Adapt wscript to the same default.
player: use arrays to list font mimetypes and font file extensions
player: add two more font mimetypes recognized by Haali

The Haali Matroska splitter is basically the reference implementation
for this crap, and it knows only:

    application/vnd.ms-opentype
    application/x-font-ttf
    application/x-truetype-font

Two of them were missing in our code. One of them, "application/x-font",
is probably plain incorrect, but I can't really tell.

Also see: http://www.cccp-project.net/beta/test_files/fontsample.mkv
vd_lavc: by default, output all frames, even corrupted ones

Set the flag CODEC_FLAG_OUTPUT_CORRUPT by default. Note that there is
also CODEC_FLAG2_SHOW_ALL, which is older, but this seems to be ffmpeg
only.

Note that whether you want this enabled depends on the user. Some might
prefer that only good frames are output, while others want the decoder
to try as hard as possible to output _anything_. Since mplayer/mpv is
rather the kind of player that tries hard instead of being "clever", set
the new default to override libavcodec's default.

A nice way to test this is switching video tracks. Since mpv doesn't
wait for the next key frame, it'll start feeding the decoder with a
packet from the middle of the stream.
build: add flag for inline assembly

This is used to disable inline assembly (useful for old version of binutils
like the one in OpenBSD).
video: fix --brightness etc. options

They were set before the VO was intitialized, which silently failed.
bstr: add bstr_xappend function

Apparently this can be really useful when being paranoid and trying to
avoid too much malloc/realloc, since it can be used to appending into a
buffer (with transparent realloc only if the buffer is too small).
common: simplify and optimize string escape parsing

This code is shared between input.conf parser and option parser. Until
now, the performance didn't really matter. But I want to use this code
for JSON parsing too, and since JSON will have to be parsed a lot, it
should probably try to avoid realloc'ing too much.

This commit moves parsing of C-style escaped strings into a common
function, and allows using it in a way realloc can be completely
avoided, if the already allocated buffer is large enough.
osd_libass: use bstr_xappend()

Partially, just enough to drop mp_append_utf8_buffer().
input: use bstr_xappend()

To get rid of mp_append_utf8_buffer().
bstr: use mp_append_utf8_bstr()

Drop usage of the ugly PUT_UTF8() macro.
common: drop mp_append_utf8_buffer()
manpage: fix vf_noise parameter name
build: check for libatomic and __atomic operations

Add check in old-configure as well. Reformat the check to use a maximum of 80
columns in the wscript.
Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
compat: use __atomic operations instead of __sync, when present

Fixes #434
Fixes #437
Update copyright year