Using -90, -180 and -270 as reference-orientation instead of 90, 180 and 270
results in content being drawn outside its block.
This is because the Coordinate Transformation Matrix does not contain a
translation in for negative values. The translation is added (in
CTM.getCTMandRelDims) for positive values but not negative.
I also added these negative values in CTM.rotate so that the CTM gets cleans
zeroes instead of approximate 1E-12 thingies.
I attached a simple test file to test the bug and its correction.
The result is still weird for 180 and -180 (and different from XEP), but I think
it could be quite a little bit harder to explain.