* cleanup relay c++
* [REFACTOR] Phase out relay c++ components
This PR phases out the relay C++ components and
simplifies the overall codegen runtime logic.
---------
Co-authored-by: Siyuan Feng <hzfengsy@sjtu.edu.cn>
By using the `gtest_discover_tests` CMake macro the CPP and CRT tests can be configured to build binaries with a single test runner each. Once CTest has information about tests it can be used in IDE extensions such as [CMake Test Explorer](https://marketplace.visualstudio.com/items?itemName=fredericbonnet.cmake-test-adapter).
`ctest` can also run tests in parallel using the `-j` flag, which could be interesting in future.
* [FIX] Make HashCombine stable across platforms
PR #7605 inadvertatly broke cross platform hashing when when it switched
size_t to uint64_t. This cause a different specialization of HashCombine
to be used. Unfortunately the new specialization used std::hash which is
implementation dependent. I've added tests to make sure this doesn't
happen again.
* fix template specialization issues