Fix getElementsByTagName to handle colon and more

Instead of relying on CSS selectors, this now implements the
matching as described by dom.spec.whatwg.org

Fixes https://github.com/Polymer/polymer/issues/468
Merge pull request #419 from arv/get-elements-by-tag-name

Fix getElementsByTagName to handle colon and more