MSVC (2010) compiler support

Provisional support for building with Visual C++ 2010, both 32-bit and 64-bit. A currently known issue is that the resulting binaries will remain attached to the console window (or create a new one if they weren't launched from one) rather than detaching from it - this is due to being compiled as a Console application rather than a GUI application, and this cannot be changed without switching to the WinMain() entry point (or switching to something else, like SDL, which does this for us).

Several minor code changes had to be made, and these changes have NOT yet been tested against GCC - if they introduce other problems, let me know so I can ensure that they are fixed in a way that is compatible with both compilers.

This change also introduces additional 3rd-party code in the form of a Win32 port of dirent.h, licensed under the MIT License. If this turns out to be incompatible with the project's current license, then this patch will be retracted until existing usage of dirent.h can be replaced with something more portable. Similarly, if the idea of adding MSVC support is not desired, this patch will likely be abandoned indefinitely.