Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=6868

        I have not only made TransformationMatrix platform independent
        but I've also added 3D methods, which will be used when I update
        WebKitCSSMatrix to include 3D (see https://bugs.webkit.org/show_bug.cgi?id=23689).
        I am now keeping a full 4x4 matrix in TransformationMatrix. I'm also doing all
        the math as doubles rather than floats. This makes a TransformationMatrix
        go from 24 bytes to 128 bytes, but I don't think this class is used enough to
        make this overhead will be significant.

        The change from floats to doubles has caused some differences in rounding and
        display (sometimes things that displayed as -0.0 now display as 0.0 or vice versa),
        so I've had to change some LayoutTest results in the SVG tests.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
81 files changed