Upstream

Minor patch to address the utilities refactoring.

The first commit is all VS 2012 file updates.  It handles the new .h and .cpp files.

The second commit is small code patch.  

Most of it involves the windows headers.  They are really annoying sometimes. :)

I had to make sure Windows.h is always before gl.h or it won't compile.  In addition, the Windows headers define GetMessage and CreateSemaphore.  So, I added some undefs to get it to compile.

In the headers, they do something like

```cpp
#ifdef UNICODE
#define GetMessage  GetMessageW
#else
#define GetMessage  GetMessageA
#endif // !UNICODE
#endif
```

It causes problems sometimes when you use those function names for other things.

Let me know what you think. :)

Thanks.