Convert Dictionary handling to RTCConfiguration IDL dictionary

This preserves behavior as far as possible and adds use counters for
cases that aren't per spec. One intentional change is that the first
argument of the RTCPeerConnection constructor is made optional, as that
is a very low risk change, and requiring the dictionary makes no sense
when providing null, undefined and {iceServers:[]} already work.

Without custom bindings it is unfortunately not possible to distinguish
{certificates:null} from no certificates specified, so that is not
measured.

BUG=649343

Review-Url: https://codereview.chromium.org/2442763002
Cr-Commit-Position: refs/heads/master@{#427065}
10 files changed