In trying to correct T66142 I realized how confusing the orientation
system is handled within the transform operator.
In my opinion, what was most confusing is which matrix was saved in the
"orient_matrix" parameter.
Sometimes it was "t->con.mtx", other times it was "t->spacemtx" and
other times it was the own "t->orient_matrix".
Orient matrix is always set to Redo so in the Redo panel the
orientation is always V3D_ORIENT_CUSTOM_MATRIX.
But this caused T66142 as the contraint callbacks are different between
the original V3D_ORIENT_NORMAL and` V3D_ORIENT_CUSTOM_MATRIX`.
To solve the confusion and the bug this patch proposes:
- Use t->spacemtx as the final orientation matrix (instead t->orient_matrix).
- Unify constraint behavior between modal and non-modal.
- Simplify code to remove old workarounds and unused members.