C++ compatibility
MS Visual Studio 2008 support
Fix: Consistently use uint instead of unsigned int

Why use uint? It is easier to type and leads to more readable function
declarations.
Merge branch 'c++-compatability'

The automake build system is still setup to compile using a C99 compiler
(e.g. GCC) but everything should compile with a C++ compiler (tested on
G++, and Visual Studio 2008 by wdigger). This can be tested using
`make V=1 CC=g++`. Project files for VS2008 have been added in `windows/`.