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
Who doesn't need ARIA support? :) I think many times people incorrectly assume they don't need it. If the framework can improve accessibility by default, it's a huge win. That said, it is important to not impact performance.