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.
Add headers to CMakeLists.txt for better IDE support.