Add a cmake-based build system.
Update the .gitignore file.
Allow to build ucapa as a shared lib (add a new option in cmake). Also, update some definitions in the source code to ensure that VS generates the shared lib correctly.