add Affine2 matrix, optimize scene2d group transform

This should be faster than Matrix3 when doing 2D translation/scale/flip/rotation/shear. My first pull request, please be gentle :)
Why not just `set()`?