Animate the shimmer

The shimmer gradient needs to move in order to
give the appearance of a shimmering shine.

The LinearGradient has a property called transform
that can be used to transform the appearance of the gradient,
for example, to move it horizontally. 
The transform property accepts a GradientTransform instance.

Define a class called _SlidingGradientTransform that implements 
GradientTransform to achieve the appearance of horizontal sliding.

The gradient slide percentage changes over time
in order to create the appearance of motion.
To change the percentage, configure an
AnimationController in the ShimmerState class.

Apply the _SlidingGradientTransform to the gradient
by using the _shimmerController’s value as the slidePercent.

The gradient now animates, but your individual
ShimmerLoading widgets don’t repaint themselves
as the gradient changes. Therefore, it looks like nothing 
is happening.