1. Let 'isa<T>()' calls 'IsSameTypeId()' when T is final,
and we add 'final' mark to some final classes derived from Base;
2. Generate type id at compile time using constexpr hash function,
remove TypeIdManager and related code;
3. Add a tool script 'scripts/check_tid.sh' to check tid uniqueness;
4. Improve type search in 'proto_exporter.cc' and 'convert_utils_py.cc';
5. Add some missed MS_DECLARE_PARENT;
6. Ensure calls of 'parent_t::IsFromTypeId()' are all inlined.