First cut at functioning CMake setup (Linux-only)

Further revisions will be needed to do some cleanup, as well as
address Windows & OSX support.