Fixes for compiling in Windows

In this PR there are three fixes for using the library in Windows (tested in Visual Studio 12/Windows 7):
* If using Visual Studio define the `M_PI` constant, not defined by the C++98 standard.
* If using Visual Studio define the `round` function, not defined by the C++98 standard.
* Avoid polluting the source directory with generated files.