Fixes a bug about potential hash collision in bindings. Using string as key of unordered_map rather than `long` value from `typeid(T).hash_code()`.