Initial file structure and CMakeLists, provides the functionality as a shared library.
Added missing header.