* Upstream stb_image.h uses __builtin_cpu_supports to detect if SSE2 is
available, but GCC versions from at least 5.4 and up to apparently
6.1.1 on Fedora 24 then give an error about a missing hidden symbol
__cpu_model when the resulting code is compiled into a DSO.
* Avoiding this by just assuming x64 gives SSE2 will fix 99% of cases,
and it's not a big loss for the tiny minority with SSE2 on x86 to miss
out. Thanks to @Anteru for this suggested fix!
* Note at the time of committing there are still some warnings in MS
headers that you might need to suppress in a couple of files.
* 3rd party code just has the warnings suppressed for ease of merging.
* The majority of warning fixes were for local variables shadowing
other locals, function parameters, or members. In most cases they
weren't a problem, but in some cases it was potentially dangerous!