Initial cmake project

Should replace makefiles, VS projects and Xcode projects.

Standard cmake configuration is as per:
- mkdir _build_; cd _build_
- cmake ..
- open generated project or run make or ninja in _build_ directory

Source directory always stays clean.