Matrix = function Matrix(sx, shy, shx, sy, tx, ty) {
    if (!(this instanceof Matrix)) {
      return new Matrix(sx, shy, shx, sy, tx, ty);
    }

    if (isNaN(sx)) sx = 1;
    if (isNaN(shy)) shy = 0;
    if (isNaN(shx)) shx = 0;
    if (isNaN(sy)) sy = 1;
    if (isNaN(tx)) tx = 0;
    if (isNaN(ty)) ty = 0;
    this._matrix = [sx, shy, shx, sy, tx, ty];
  }
A matrix object for 2D homogenous transformations: <br>
| a b 0 | <br>
| c d 0 | <br>
| e f 1 | <br>
pdf multiplies matrices righthand: v' = v x m1 x m2 x ...

@class
@name Matrix
@param {number} sx
@param {number} shy
@param {number} shx
@param {number} sy
@param {number} tx
@param {number} ty
@constructor