Add aria-label and alt support

Original PR was eaten by git :\

This adds a `role` to core-icon and allows the developer to apply either `aria-label` or `alt` attributes to support screen readers. As a last ditch fallback it will try to include the icon name if one was provided.

cc @alice
yeah we have to overwrite `aria-label` if the user never specified one and only used alt, and then dynamically changed their alt.

but, if the user *did* specify `aria-label` and then changed the icon, then we should leave their `aria-label` in place and just exit.