Use new Traversal<SVG*Element> API more in SVG code

Use new Traversal<SVG*Element> API more in SVG code. This makes the code a
bit shorter / simpler.

This CL also defines new DEFINE_ELEMENT_TYPE_CASTS*() macros that do the same
as DEFINE_NODE_TYPE_CASTS*() macros but also provide a template specialization
of isElementOfType<>() so that the Traversal<> API also works for these
Element types. For most types, those helpers are automatically generated from
SVGTagNames.in and those require no additional work.

R=eseidel, pdr
BUG=346733

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

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