issue #2771:  fix collision bug cause by dynamic/static cast.
fix touches not working in cocosbuilder
Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into bind_studio
Adds virtual destructors on Interfaces

Classes with at least one virtual function needs a virtual destructor.
This patch adds virtual destructors to  Interface classes

And also enables  'warn on  missing virtual destructors'
Merge pull request #4343 from ricardoquesada/virtual_destructors

Adds virtual destructors on Interfaces and enables 'warn on missing virtual destructors' for xcode.
Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into bind_studio
Update CHANGELOG [ci skip]
Merge pull request #4341 from Dhilan007/touchfix

fix touches not working in cocosbuilder
issue #2771:  add some warning log
resolve conflict
Fixing warning generated by VS2012.
add miss api
Merge pull request #4344 from dumganhar/develop

Fixing warning generated by VS2012.
Merge pull request #4340 from Dhilan007/jssubmodule

recover controller on layer.
Don't deprecate callback functions in Layer. Reason:
Callback function should not be deprecated, it will generate lots of warnings.
Since 'setTouchEnabled' was deprecated, it will make warnings if developer overrides onTouchXXX and invokes setTouchEnabled(true) instead of using EventDispatcher::addEventListenerWithXXX.
Fix of unsigned / signed mismatch in UIPageView.cpp.
Removing unused 'virtual' keyword in testcpp since we're using EventDispatcher::addEventListenerXXX to register event listener.
Prevents warning of invoking ScrollView::setTouchEnabled. Layer::setTouchEnabled should not be a virtual function.
Add doxygen comments for the CocoStudio
Update tools/tolua/cocos2dx.ini, ignore onTouchXXX, onKeyXXX, onAccXXX callback functions to be bound to LUA.