Add [TypeChecking=Interface] to XPath interfaces

Also make all arguments non-optional, make some nullable, change the type
of XPathResult input arguments to "object?" and drop the custom bindings
for DocumentXPathEvaluator.evaluate() (which did nothing special at all).

All this matches Firefox's behavior, and the informal "specification" at
https://wiki.whatwg.org/wiki/DOM_XPath as well as, to some degree, the
older specification at http://www.w3.org/TR/DOM-Level-3-XPath.

The changed type of XPathResult input arguments means that any object can
be used for those arguments, but the value is not used at all in our
implementation anyway, so strictly checking that an XPathResult is passed
serves little purpose in practice.

BUG=462561

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

git-svn-id: svn://svn.chromium.org/blink/trunk@191546 bbb929c8-8fbe-4397-9dbb-9b2b20218538
18 files changed