feat(ngAria): add an ngAria module to make a11y easier

I made some significant refactors to #8342, notably:

* DRYing up the implementation
* unDRYing up the specs so that the assertions/failures are more specific
* Naming watch functions to make debugging easier
This should not contain the logic for `tabindex` here, as for native inputs we don't need it, and for `role=checkbox` we should add it explicitly, just like we do for checkboxes (to make the code more consistent).