- move script as asset because they are not build script
- create new script directory for "User Compile" method because github action need to build with gtest.
- change compile manual for this change.
- modify external dependency location in github action and gitignore.
- move header files into an individual directory to prevent the possibility that file name is conflict in Linux include directory.
- update build script generator. use jinja2 template engine to get better view, rather than python code written by hand.
- add version number and version comparation macros in core library.