Adding Element.closest() API 

Implementing Element.closest() API according to specs https://dom.spec.whatwg.org/#dom-element-closest

This API will parse selectors and if fails then throw SyntaxError
else return closest ancestor that matches selectors if there is
no ancestor that matches selectors, it will return nullptr.

Blink-Dev Intent to Implement and ship Link :
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/yk_Fo6hyvb8

This patch is a merge from webkit http://trac.webkit.org/changeset/174324
by Dhi Aurrahman <diorahman@rockybars.com>".

BUG=422731, 417603
R=habib.virji@samsung.com

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

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