CTM concatenation should be pre-multiplicative

* The order of multiplication matters when dealing with matrixes
* PDF 32000-1:2008 spec section "8.3.4 Transformation Matrices" says
  that when concatenating one matrix onto the CTM you should start with
  the new matrix and multiply it by the CTM.
* Thanks to Zack Drach for reporting (Closes #75)
add a new sample PDF that has text rotated 90°
use float's for this maths to avoid truncation
guard against dividing by 0
re-jig PageState#font_size to work with rotated text

* The final font size is a combination of the text_font_size and any scaling.
* Closes #74