[webcrypto] Allow crypto operations to be cancelled by the platform implementation.

When the ExecutionContext is destroyed, the outstanding request is marked as cancelled.

The corresponding chromium side of this change is https://codereview.chromium.org/341923004/

BUG=375430

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

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