add factory for element wrappers

Fixes https://github.com/dart-lang/core-elements/issues/73
one thing we should test is whether this requires some special NodeValidator/TreeSanitizer (I can't recall if custom elements were filtered out by the default constructor)