Add WebAuthn bindings and client interface.

This CL adds the WebAuthn bindings and interface to support
WebAuthentication.makeCredential and WebAuthentication.getAssertion.

The draft spec is here: https://w3c.github.io/webauthn/

The interface is likely to change as the spec matures. We're tracking the
comments and suggestions from this review via issues opened with the working
group:
https://github.com/w3c/webauthn/issues/310
https://github.com/w3c/webauthn/issues/311
https://github.com/w3c/webauthn/issues/312
https://github.com/w3c/webauthn/issues/313

This patch also proactively implements the change to WebAuthnAttestation
suggested here: https://github.com/w3c/webauthn/issues/244

BUG=664630

Review-Url: https://codereview.chromium.org/2533863002
Cr-Commit-Position: refs/heads/master@{#445239}
26 files changed