Switch from raw Makefile to CMake
Move all header files into inc folder

This makes sense because we are building a library
Create install target
Rename libengine.a to lib2D-engine.a
Add engine::types::Index_node
Add tests for engine::types::Index_node
fixup! Add engine::types::Index_node
(fixup) Use std::string as default Key