Round translation in canvas setTransform

The translation in setTransform should be rounded to the nearest pixel, since canvas implementations deal with fractional coordinates inconsistently.
Merge pull request #725 from starwed/int-viewport

Round translation in canvas setTransform