The `Matrix3D`

class has functions to compute a translation matrix, a rotation matrix, a matrix from any 2D affine transform and even a frustum matrix. However it’s lacking a simple scaling matrix. As this is a very common thing in computer graphics, how about adding this simple function?

```
static Matrix3D scaling (Vector3D<Type> scale) noexcept
{
return { scale.x, 0, 0, 0,
0, scale.y, 0, 0,
0, 0, scale.z, 0,
0, 0, 0, Type (1) };
}
```