Merge pull request #1624 from pandamicro/develop-3.0

Refactor #4240 & #4003: Refactor api to fit -x api
Change some public api to private.
Remove some public api.
Fix some bugs.
Merge branch 'develop-3.0' of https://github.com/cocos2d/cocos2d-html5 into CCGame_dev3.0
Merge pull request #1625 from SmallAiTT/CCGame_dev3.0

Change some public api to private.  Remove some public api. Fix some bugs.
Fixed #3427: add a condition to check parameter for addListener
Merge branch 'develop-3.0' of https://github.com/cocos2d/cocos2d-html5 into Iss3427_NewEventDispatcher
Merge pull request #1626 from dingpinglv/Iss3427_NewEventDispatcher

Fixed #3427: add a condition to check parameter for addListener
Feature #3942: Refactor singleton classes to objects in Extension
Merge pull request #1627 from pandamicro/develop-3.0

Refactor #4240: Rename getInfo to original dumpInfo
Refactor #4240: Refactor purgeXXXCache to _clear which won't be supported in JSB
Merge branch 'develop-3.0' of https://github.com/cocos2d/cocos2d-html5 into develop-3.0