Use custom tag names in core

I was previously considering this part of the shadow DOM roadmap item, but I think it makes sense to be a bit more granular. This issue covers conversion of all the custom elements in core to use custom tag names. We can preserve their existing classes for now, so it should be a simple change.