Build System

- Added a proper multi-platform build system using CMake