Checkbox radio button refactor

This PR simplifies the usage of `<material-radio-group>` and `<material-checkbox>`.

* remove the need for the nested `<input>`s by working directly with `ngModel`
* move `ngModel` to the radio group as it used to be repeated on every radio button
* proof of concept: add initial support for focus and keyboard, to show that other directives like `ng-focus` and `ng-blur` still work.

In total, the change simplifies the usage but still preserves the original angular features of radio buttons and checkboxes (E.g. `ng-change`, `ng-true-value`/`ng-false-value`, `ng-value`, `ng-blur`/`ng-focus`).

**Attention**
Don't merge the commits for the focus and keyboard support!
They are just a proof of concept, we need a general styling and concept for all components

/cc @IgorMinar

P.S.: @IgorMinar, we don't need to change `ng-blur` and `ng-focus` yet to support bubbling, as we don't have a nested `<input>` to listen to, but rather the `<material-checkbox>` and `<material-radio-button>` themselves should be focusable. 
The `aria-checked` attribute requires a role of `checkbox` to be useful for assistive technology. Inputs also require labels, which can be accomplished multiple ways: for this use case, `aria-label` on the component itself would work, essentially having the input label itself, rather than creating and maintaining a `label` element. More info: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-label_attribute