Restructured code into more modular format

Windows QueryPerformanceCounter is used for timing now.
The project is converted into 64bit format and uses 2012 MSVS.