Add a real build system, using CMake

This was sorely needed now that there are multiple source files. The
change also has the following side effects:
* The optimization level is now set to 3
* The unit tests are also optimized (previously they weren't)
* Some of the output paths have changed

Thanks to SiegeLord for writing Rust support and example files for
CMake.
README: move features up above build instructions