cpp: Move cmake project root to top level

Moving the toplevel CMakeLists.txt to the project root permits the
project root to be used by cmake directly.  This permits proper
paths to docs, components, etc. to be used.
cpp: Fix comments and indentation
test-build: cpp builds using project root
cpp: Update README to use project root
merge develop -D org -I include -E exclude: PR 528 (Tile performance improvements for VMS and NDPI)
merge develop -D org -I include -E exclude: PR 644 (Add support for writing ModuloAlong* annotations)
merge develop -D org -I include -E exclude: PR 745 (Improve bfCheckJavaPath performance testing)
merge develop -D org -I include -E exclude: PR 748 (Add support for Bio-Rad .scn files)
merge develop -D org -I include -E exclude: PR 749 (cmake: Use git root as project root)
merge develop -D org -I include -E exclude: PR 753 (Bug fixes for graphics formats)
merge develop -D org -I include -E exclude: PR 756 (Fix SPW fake file detection)
merge develop -D org -I include -E exclude: PR 765 (Eclipse: ignore gmaven)