Repeated use of decodeAudioData() causes leak
https://bugs.webkit.org/show_bug.cgi?id=114709

Reviewed by Geoffrey Garen.

Report the correct size of the AudioBuffer to the garbage collector so that creating
these large buffers will trigger garbage collection.

* Modules/webaudio/AudioBuffer.cpp:
(WebCore::AudioBuffer::memoryCost): Added; simple sum of the buffer sizes in m_channels;
* Modules/webaudio/AudioBuffer.h:
* Modules/webaudio/AudioBuffer.idl: Add the CustomToJSObject flag.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSAudioBufferCustom.cpp: Added.
(WebCore::toJS): Added; report the extra size of an AudioBuffer when the wrapper
    is created.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148566 268f45cc-cd09-0410-ab3c-d52691b4dbfc