Implement SnapTransform which takes a decomposed transform and viewport and tries to nudge the rotation, scale and translation values. It tries applying the inverse of the transform to the viewport. (Objects in this rect having the transform applied will end up in the viewport) If the transform maps the corners onto integer points and the corners are no more than 1 pixel away we will return success and the decomposed transform with the new rotation value. R=vollick@chromium.org BUG=280280 Review URL: https://codereview.chromium.org/23444049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230849 0039d316-1c4b-4281-b951-d872f2087c98