tidy up matrix ops, make translate and rotate both post-multiply