Have NodeList::item() overrides return an Element* when appropriate

Have NodeList::item() overrides return an Element* when appropriate instead
of a generic Node*. This makes it clear to callers that these are actually
returning Elements and avoids unnecessary isElementNode() checks or casts
that look unsafe.

R=adamk@chromium.org, esprehn@chromium.org

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

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