change engine to library, add demo project
cleanup and start including gtest