More scale fixes.

I was testing how the tool reacts to bigger screens, and found some issues.

* <strike>Transforming mouse coordinates was wrong. It just happened to work out for Black and Black 2, but no such luck for X.</strike> It turns out it was right after all, reverted. :stuck_out_tongue:
* Scale calculation should not be rounded. For example in X, `main_scale` will be `3.2` (1024 canvas width / 320 screen width), rounding to `3` here causes the rendering to be too small. Proper rounding is already implemented in `scale()`, so no worries about decimals suddenly showing up.