Instead of using std::unordered_map<long, T>(long is the hash_code generated by typeid(T).hash_code()),
We needs to use std::unordered_map<std::string, T> to avoid collision since unordered_map internally processes collisions.
1) Moving the implementation of JSStringWrapper to .cpp file. Removing override operator() which will be easy to make errors.
2) Deleting JSCallFuncWrapper since it isn’t needed after using std::function for MenuItem’s Callback.
3) Fixing ChipmunkTest crash sometimes on MAC platform(64bit).