Force tiles in SampleApp to integer boundaries.

The current behavior is to create tiles from the rounded ideal tile size,
tell the tile that it's upper left pixel is at the ideal location, and
then draw those tiles at the ideal locations. As a result, the tiles are
be out of phase with each other internally and then actually drawn at
the rounded pixel location instead of the ideal location.

The new behavior is to always round up to get the tile size, make the
tile translation an integer offset, and then draw at the exact pixel.

This also modifies SampleApp to use the numeric keypad to provide an
extra manual 1/32 pixel translation for fine grained movement.

BUG=skia:5020

Review URL: https://codereview.chromium.org/1763833002
3 files changed