Fix click offset rounding errors.

Clicks were resolving to tiles that were off by one due
to roundoff errors in the `ScreenToPoint` function.
Using float math internally gives gives correct results
to +/- 1 pixel.

Fixes #19.