Eliminate creeping C99 feature use.

Even without -std=c99 or -std=gnu99, GCC will permit some C99
features that pre-existed as GNU extensions.

Change some modern code to not mix declarations and code, and
also to not use variable length arrays.

Introduced an ARRAY_SIZE helper macro for tidying replaced code.

This change is a precursor to updating the MSVC build system
and fixes the MSVC build with the 2010 compiler toolchain.
Upgrade MSVC support to Visual Studio 13 level.

- Download the "Visual Studio Express 2013 Preview for
  Windows Desktop" application from here:
  http://www.microsoft.com/visualstudio/eng/2013-downloads
- Extract the scripts/deps/msvc.zip into the arch/msvc folder.
- Load the arch/msvc/MegaZeux.sln file into MSVC. You are done.