Some changes to UV shear tool.

Signed-off-by: Kristian Duske <kristian.duske@gmail.com>
Add 2d rotation matrix constructor.

Signed-off-by: Kristian Duske <kristian.duske@gmail.com>
Implemented command collation for a number of commands.

Some refactorings were necessary, most importantly in VertexTool (removed the RebuildBrushGeometryCommand as it effectively blocked the collation of consecutive vertex commands). Also the MoveTextureCommand had to be changed so that it could collate consecutive changes just by adding vectors.

Signed-off-by: Kristian Duske <kristian.duske@gmail.com>
Undo collation for brush face attributes and some other commands.

Signed-off-by: Kristian Duske <kristian.duske@gmail.com>