GradientView would not work if its colors were passed during initialization
and never changed after. This was caused by the fact that `CAGradientLayer`'s
colors were updated in `GradientView.colors.didSet`, which isn't
called during `init()`.
Also allow access to `GradientView.gradientLayer` so that users of
that class can build more advanced gradients.