Add CMake Build Script
This MR replaces the .sh and .bat build scripts with a CMakeLists.txt, externalizes the external dependencies, and allows building to archive releases for Windows (zip), MacOS (zip), and Linux (tar.gz).
Edited by Andrew Wong