Background: I have a geometric transformation composed of a `RotationTransform`, `ScalingTransform` and `ShearingTransform`, I can use dynamic constructs with rotations and scalings but this does not (seem to) work with the `ShearingTransform`.

Consider the following snippet: 

      DynamicModule[{shr, deg = 30},
       shr0 = ShearingTransform[deg Degree, {1, 0}, {0, 1}];
       shr1 = Dynamic[ShearingTransform[deg Degree, {1, 0}, {0, 1}]];
       shr2 = ShearingTransform[Dynamic[deg Degree], {1, 0}, {0, 1}];
      Column[{
         Slider[Dynamic[deg], {0, 90, 1}],
         GeometricTransformation[{Blue,
           Rectangle[{0, 0}, {3, 1}]},
          shr0] // Graphics}
       ]]

Note that the snippet does not work (as expected) : moving the slider does not change the angle of the shear. See `shr1` and `shr2` for alternatives I have already tried. 

**Question: How can I make the angle in a `ShearingTransform` dynamic, such that it works in the context of the snippet above?**