Add [TypeChecking=Unrestricted] to Web Audio interfaces

This changes behavior when non-finite floating point values are assigned
to attributes or passed as arguments to methods, by throwing TypeError
exceptions. The old behavior was to throw InvalidStateError exceptions
in some cases, as required by the current spec, and to not throw anything
in other cases.

Since value checks are now done by the bindings layer, some checks can
be removed from or simplified in the Web Audio implementation.

The new behavior is required by the WebIDL spec and matches Firefox. There
is an (at the time of writing) open Web Audio bug to align it with WebIDL:

  https://github.com/WebAudio/web-audio-api/issues/385

BUG=354298

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

git-svn-id: svn://svn.chromium.org/blink/trunk@190397 bbb929c8-8fbe-4397-9dbb-9b2b20218538
16 files changed