Accessible checkbox

Users should be able to to interact with `material-checkbox` components using a screen reader and keyboard. These changes make those components into interactive elements by adding `tabIndex` and visual feedback on focus, the ARIA `checkbox` role and a dynamically-updated `aria-checked="[ true | false ]"` attribute.
We should create a centralized app config or utility to manage keycodes.