Why? Makes it easier in lit to attach elements in bindings
```html
<md-ripple .control=${this}>
```
This is needed to support radio, which needs to make the host element interactive.
PiperOrigin-RevId: 559899531
This is needed for `<md-dialog>` for close icon buttons.
I split out button's logic into a static helper method. I also added a symbol to share ElementInternals.
PiperOrigin-RevId: 554943716