add factory for element wrappers

Fixes https://github.com/dart-lang/core-elements/issues/73
Since this is Dart, we should probably use `new Element.tag('$name')`.

Note however that this might break in some cases. If I have something that transitively extends from ButtonElement, for example, this should be `new Element.html('<base-tag is="$name">')`

We don't explicitly have a way to get the base type, but we might have all the information we need to compute it already parsed and available.