Add DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION() macro

Add DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION() macro that generates better
type helpers for HTML Elements:
- Generates more isHTML*Element() helpers that are consistent with the ones
  in HTMLElementTypeHelpers.h so that there is no different in behavior /
  supported arguments.
- Supports more efficient isHTML*Element() helpers that take an HTMLElement
  in argument and thus don't need to check the namespace URI, only the local
  name.

R=esprehn, adamk
BUG=346095

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

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