Use _aligned_malloc for all MSVC-compatible compilers

Any compiler pretending to be MSVC should implement _aligned_malloc/_aligned_free. In particular this includes Intel Compiler on Windows and (in the future) Clang. These compilers reuse MSVC CRT, which implements these functions.
Use POSIX allocation from OSX 10.9