WebAudio createBuffer should throw error with 0 channels.

Also moved the testing for invalid values from
AudioContext::createBuffer to AudioBuffer::create, which knows what
the valid ranges are instead of having the tests in both
AudioBuffer::create and AudioContext::createBuffer.

Test case added for createBuffer(0,...).

BUG=362657

Review URL: https://codereview.chromium.org/235653002

git-svn-id: svn://svn.chromium.org/blink/trunk@173689 bbb929c8-8fbe-4397-9dbb-9b2b20218538