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
In general we expect the user to interact with attributes at declare time and properties at runtime. The aria attributes are an exception since they are not (correct me if I'm wrong) reflected to properties.

So, we should update the doc here and say that you can hide the icon by setting `alt` to `null`.