Add extra safety to selector casting macros
Use static_cast<> instead of C-Style casts in the callfunc0_selector() etc. series of macros as this will allow the compiler to perform more stringent error checking and catch out cases where incompatible function signatures are being casted. This helps prevent very subtle and difficult to track down bugs where the signature of the function being casted is not what Cocos2dx expect - which can cause strange things to happen and corrupt the current stack frame.
Merge branch 'selector_cast_safety' of https://github.com/DarraghCoy/cocos2d-x into DarraghCoy-selector_cast_safety
closed #2363: Fixing compilation errors for JS projects.
Revert some codes in cocos2d_specifics.cpp.
Merge pull request #3063 from dumganhar/DarraghCoy-selector_cast_safety

Merge PR#3058:  Adding extra safety to selector casting macros