Rework of the entire Project Structure.

This is quite a large pull request.  I have re-worked the entire structure of the code, and the supporting project files.

My main impulse for doing this was to better support the generation of Visual Studio project files.  This is still a work in progress.

This is tested on Mac OS X.