XPath: Refactor WebCore::XPath::EvaluationContext.

Fix a hacky usage of EvaluationContext. This class is necessary only
in XPathExpression::evaluate, and should not be kept by a static
variable.  This CL makes it stack-allocated class.

EvaluationContext is created in XPathExpression::evaluate, and we pass
EvaluationContext to all of functions related to XPath evaluation.

XPathResult::snapshotItem, snapshotLength, and singleNodeValue call
XPathValue::toNodeSet. They are never called in XPathExpression::evaluate, and
we have no EvaluationContext in them. We pass 0 to Value::toNodeSet().

Oilpan: This CL removes one instance of Persistent<Node>.

BUG=

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

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