Replaced rendermodes shared_ptr with a unique_ptr.
Replaced plain Makefile with CMake.