avformat: AviSynth demuxer rewrite, headers

Provide local copies of AviSynth's and AvxSynth's requisite headers
in compat/avisynth/.

The versions of the headers are the same as those provided with x264
for consistency's sake.
avformat: AviSynth demuxer rewrite, main

The main rewrite was authored by d s <avxsynth.testing@gmail.com>
from the AvxSynth team, with additional contributions by

Oka Motofumi <chikuzen.mo@gmail.com>
Stephen Hutchinson <qyot27@gmail.com>

Directly loads AviSynth through LoadLibrary instead of relying on
Video for Windows, and supports using AvxSynth (via dlopen) to
open scripts on Linux and OS X.

Error messages from AviSynth/AvxSynth are now reported through
av_log and exit, rather than the traditional behavior of generating
an error video that the user would need to watch to diagnose.
avisynth: Add compatibility header for AviSynth 2.5.

Uses the 2.5 compatibility header included with the variant of
FFMS2 that uses AviSynth's C-interface. A copy of this header is
now provided in compat/avisynth.

avs_get_row_size_p and avs_get_height_p changed between versions
2.5 and 2.6. Since the avisynth_c.h header that avformat now uses
assumes AviSynth 2.6, it would cause 2.5 to crash if given any
kind of real video (the Version() function was known to work,
though).

AvxSynth was unaffected by this issue because it uses its own
header (although it also uses 2.6's versions of these functions).
avisynth: Move CODEC_ID to AV_CODEC_ID
avisynth: K&R and minor readability cosmetics