Fixes bug in stopMusic()

In Chrome, it can take a few seconds for the `ended` property of music to become `false`. Therefore if one plays music, then immediately stops the music, `_stopAudio` can silently fail and then `stopMusic` mistakenly sets `_currMusic` to `null`, which leaves the music playing and no way to stop it. The problem is compounded if this situation is repeated. There can be many music tracks playing and it slows down the browser tremendously.

This pull request fixes the bug by verifying that `_stopAudio` worked.
Compatible with builder
Merge pull request #1798 from NatWeiss/patch-8

Fixes bug in stopMusic()
Merge pull request #1799 from VisualSJ/develop-3.0

Compatible with builder
Closed #4926: add a condition to check plist file in SpriteFrameCache.addSpriteFrames
Merge branch 'develop-3.0' of https://github.com/cocos2d/cocos2d-html5 into Iss4926_SpriteFrame
Merge branch 'develop' of https://github.com/cocos2d/cocos2d-html5 into Iss4926_SpriteFrame
Fixed #4926: add a condition to support playing sound from 'file://' origin
Merge pull request #1801 from dingpinglv/Iss4926_SpriteFrame

Closed #4926: fixed some bugs and merge develop 3.0 to develop branch
Modify the sequence for DirectorWebGL
Merge pull request #1803 from VisualSJ/develop-25

Modify the sequence for DirectorWebGL
Closed #4856: fixed a bug of cc.TMXXMLParser and cc.TMXLayer getTileAt etc functions support a point or x,y as their parameters.
Merge branch 'develop' of https://github.com/cocos2d/cocos2d-html5 into Iss4856_TMXLayer
Merge pull request #1804 from dingpinglv/Iss4856_TMXLayer

Closed #4856: fixed a bug of cc.TMXXMLParser and cc.TMXLayer getTileAt etc functions support a point or x,y as their parameters.
Fixes WebGL Warning if Invalid Texture

With WebGL, it's possible to get lots of warnings (and slow down the browser) if a texture is loaded that has no width or height. The following warnings will be generated:

WebGL: INVALID_VALUE: texImage2D: no canvas CCTexture2D.js
[.WebGLRenderingContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete' (index):1
WebGL: too many errors, no more errors will be reported to the console for this context.

This pull request fixes the bug by checking the HTML element's width and height before trying to turn it into a texture.
Fix Firefox audio bug

In the `_play` method, the `offset` parameter can sometimes be `undefined`. This causes the following error in Firefox which effectively disables all audio:

`TypeError: Argument 2 of AudioBufferSourceNode.start is not a finite floating-point value. sourceNode.start(0, offset);`

This pull request fixes the bug by ensuring the offset is 0 if undefined.
Merge pull request #1805 from NatWeiss/patch-10

Fixes WebGL Warning if Invalid Texture
Merge pull request #1806 from NatWeiss/patch-11

Fix Firefox audio bug