Optimize hasTagName when called on an HTMLElement / SVGElement

This CL adds new hasTagName() functions that have the efficiency of
hasLocalName(), but are safe. We can always use hasTagName(), and we'll get a
compile time error if we try to use an SVG tag name with an HTML element.

This makes the code safer and no longer requires good understanding of
hasTagName() vs hasLocalName() to write efficient code. This CL drops support
for hasLocalName(QualifiedName) as calling hasTagName() is now as efficient.

This is based on WebKit r165699 by darin@apple.com: 
http://trac.webkit.org/changeset/165699

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

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

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