fixed #2072 modify cc.Node, cc.kmMat4Assign codes for Javascript performance optimization.  MV * P operation move to Shader.
Merge branch 'master' of https://github.com/cocos2d/cocos2d-html5 into Iss2072_JSPerformanceImprovement
add helper function to improve the capabilities checking procedure at ctor()
change from manually checking each supported type to a loop query
add cc.Browser.supportWebAudio to check if Web Audio API is supported by browser
abstract cc.AudioEngine to be a super class, let previous implementation to be cc.SimpleAudioEngine
rename cc.SFX to cc.SimpleSFX, the Web Audio version needs a different SFX
add cc.WebAudioEngine, use it when browser supports Web Audio; currently, it's just a copy of cc.SimpleAudioEngine
extract support-type-checking procedure to cc.AudioEngine
finish ctor() and init() in cc.WebAudioEngine
fixed #2072 optimize performance for javascript
now it can play music normally (except resumeMusic()); effects are to be done
now it can also resumeMusic(); so all music stuff is done
extract the codes of setting cc.AudioEngine.isMusicPlaying to a separate method
make isMusicPlaying() to be in cc.AudioEngine, less redundant
add extention checking when fetching data is required before playMusic()
now it can pause only when it's playing; it can resume only when it's paused
move isMusicPlaying() back to each implementation class, WebAudioEngine is not going to use cc.AudioEngine.isMusicPlaying property
now music's volume is saved in WebAudioEngine so it can be preserved among different music resources
use Web Audio API's playbackState property to indicate isMusicPlaying()