NOT READY FOR MERGING UPSTREAM!

Made some pretty major changes to the ffmpeg compilation scripts, including using upstream ffmpeg as a sub-repository to keep it up-to-date (ffmpeg git versions are considered very stable).

Included a minimalistic MSYS environment to support MSVC builds of ffmpeg (does not include MinGW compilers, so a full separate MinGW compiler with MSYS will still be required to do a complete MinGW build)

Probably broke most other GNU Make-based build systems while tweaking the MSVC parts.

Moved the YASM build out of the build process (compiling a compiler/assembler at project build-time doesn't make much sense to me). Included a build of yasm in the minimal MSYS environment since it is only needed to build FFMpeg.

Replaced the Windows shell script to bridge to BASH to a small C89 program (with source available in the repository) to work around some windows shell limitations. This fixed issues with spaces in path names, and *should* have fixed parentheses as well (but not tested yet).

I apologize if I left anything ugly in this commit, but I just don't have the time to work on the finishing touches right now (maybe this weekend, though).