Add MS Windows Code and make MS Windows targetable

Code can be compiled using MSYS and mingw-64 x86.