prevent stop from being called before start

The specification of AudioBufferSourceNode says not to call stop before start has been called (https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#methodsandparams-AudioBufferSourceNode).

Chrome 32 implements this and throws an `InvalidSateError` when calling `play()` (which calls `stop()` in the beginning):
`Uncaught InvalidStateError: Failed to execute 'stop' on 'OscillatorNode': cannot call stop without calling start first.`

There's also an open issue for Chromium and this might change at some point in the future..:
https://code.google.com/p/chromium/issues/detail?id=324652

I'm not sure if the call to `_setupSourceNodeForPlayback();` in the constructor can be removed as that would solve the issue too. But `fade()` is public and uses `_sourceNode`, so I'm just guessing it can't be removed.