Lenses for setting arrow head, tail, and shaft colors

This pull request contains the following:

1. A new method for the `Color` class, `fromAlphaColour`.  See @9a89228.
2. A few new utility functions in `Diagrams.Attributes`.  See @a9339c6.
3. Adds a `Default FillColor` instance.  Not sure why it was missing before.
4. Setters for the fill and line color attributes within a style.
5. Setters for directly setting the color of arrow heads, tails, and shafts. These are much more convenient than using lenses for the head, tail, and shaft styles in the common case that you just want to set the color, since it's less to type, and less to get wrong (you don't have to remember whether to set the fill or line color).
6. Remove the default shaft width.  This means that shaft width is now by default taken from the ambient line width, and can be set just by applying the `lw` function to an arrow, as well as by setting the `shaftStyle`.

Generally I am excited about the possibility of providing more of these sorts of "virtual fields" --- lenses which allow you to query, modify, or traverse some aspect of a thing even when that aspect is not actually a literal record field.