More best practices fixes

- class order fixes
  - static methods (creators) at the beginning
  - then constructors / destructors
  - then init
- more `const` fixes
  - adds some const getters
  - some getters have 2 versions: `const` and no-const version
- renamed CocosDenshion::sharedEngine -> getInstance()
Merge branch 'more_more_best_practices_fixes' of https://github.com/ricardoquesada/cocos2d-x into ricardoquesada-more_more_best_practices_fixes
issue #2407: SimpleAudioEngine::sharedEngine --> SimpleAudioEngine::getInstance().
issue #2407: more best practices fixes, more getter and const..
issue #2407: Minor fix in CCTMXLayer.h
Merge pull request #3197 from dumganhar/ricardoquesada-more_more_best_practices_fixes

Merge PR https://github.com/cocos2d/cocos2d-x/pull/3192