Initial work on AbstractToggleSwitch, heavily based on AbstractButton. Missing enabled, focus, real tests, and actually trying to see if it works.
Fix aria-checked property.
Continuing work on AbstractToggleSwitch.

- Add test coverage based on other abstract class tests.
- Add enabled attribute which adds a class, prevents focus, and prevents interaction.
- Make rendering markup-independent by supporting the right properties depending on the element type.
AbstractToggleSwitch cleanup.

- Use super!
- Remove need to correctly handle the case where we are given an <input>, simplifying the attribute code.
AbstractToggleSwitch: test that checked appropriately updates the classList.
Merge pull request #1257 from asolove/toggle-switch

Toggle switch base class