Enable V8 Promises.

Enable V8 Promises.
This CL sets --harmony-promises flag for the V8 implementation.
Because V8 Promises depend on weak collections, this CL also introduces
WeakMap and WeakSet.

This CL makes ScriptPromise and ScriptPromiseResolver use V8 Promises instead
of Blink Promises. Now ScriptPromiseResolverWithContext runs V8 tasks manually
when resolve or reject was called from a non script execution environment.

BUG=352597, 352552
R=jochen@chromium.org, adamk@chromium.org

Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=172299

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

git-svn-id: svn://svn.chromium.org/blink/trunk@172542 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Unprefix webkitImageSmoothingEnabled -> imageSmoothingEnabled. As webkitImageSmoothingEnabled is replaced by imageSmoothingEnabled so we can remove the layout test cases related to it.


BUG=277199

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

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