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.