Add USE_INTERNAL_LIBS, a default for USE_INTERNAL_*

Linux distributions that want to link dependencies externally will
generally want to link (almost) every dependency externally; similarly,
minimal-dependency builds that want to use the embedded copies of
dependencies will generally want to do so for (almost) every dependency.
Make it easier to choose one of those by setting USE_INTERNAL_LIBS=0
or USE_INTERNAL_LIBS=1, respectively.

The default can still be overridden per-dependency; for instance,
"make USE_INTERNAL_LIBS=0 USE_INTERNAL_OPUS=1" will use the system
version of everything except Opus.
Centralize checks for Freetype, with a user override

This lets us find a library in a non-standard library directory
(via -L in the pkg-config metadata), and allows overrides similar to
the Autoconf convention, e.g.

    make FREETYPE_CFLAGS=-I/opt/freetype/include \
        FREETYPE_LIBS="-L/opt/freetype/lib -lfreetype"

If pkg-config didn't work, assume that Freetype is in the default
location.
Allow libcurl to be in a non-standard location on all platforms

We didn't add CURL_CFLAGS to CLIENT_CFLAGS on all platforms, and didn't
use CURL_LIBS at all, so if "pkg-config --libs" returned "-L... -lcurl"
or even "/.../libcurl.a", it wouldn't work.
Allow OpenAL to be in a non-standard location on all platforms

Similar to libcurl, we didn't use OPENAL_LIBS and assumed it was
always "-lopenal".
Allow system libjpeg to be in a non-standard location

It doesn't have pkg-config metadata (at least on Debian), so if the
user doesn't override it, assume normal system paths.
Find system zlib via user override, pkg-config or in standard locations
Look for system Vorbis, Opus and Ogg via pkg-config

As usual, the order of precedence is: user override, pkg-config,
or assume they're in standard locations.

In particular, Opus isn't in the default search path on Debian.
Find Speex via user override, pkg-config or default search path
spearmint: Show search paths when cannot find data files

FS_CheckPaks is called before printing the search path because
it modifies the search path. If cannot find data files, it's
really important to know where it's looking for the data.
So duplicate the code for showing the search paths.
-ffast-math for msvc
Merge remote-tracking branch 'ioquake3/master' (Skip MSVC commit)
Merge branch 'pkg-config' of github.com:smcv/ioq3 into master

Conflicts:
	Makefile
Fix up vorbis handling in Makefile
Allow overriding external opus libs/cflags in Makefile

Pointed out by @MAN-AT-ARMS.
Fix compiling on Linux Mint
Allow user override of cURL, OpenAL, and SDL libs/cflags
OpenGL2: Replace R_MipMapsRGB() with faster version.
Merge remote-tracking branch 'ioquake3/master'

Conflicts:
	Makefile
	README.md
Don't load external GLSL files by default

External GLSL should probably only be used for development testing,
not released products. The GLSL files are tied to the code, and the
code changes some what often.

Fixes using OpenArena 0.8.8 which has incompatible GLSL files in a pk3.
Don't use -mwindows with Clang on Windows

Thanks to stigmha for pointing out this doesn't work in Windows.