Remove MoveCrosshairRelative function and convert old usage to FitCrosshairIntoGrid()

The two places this function was used passed (0, 0) as the position delta, and intend
only to force a re-calculation of the grid-snap.

Make the intent more clear by calling FitCrosshairIntoGrid() directly.
crosshair.c: Clean up MoveCrosshairAbsolute() to make the logic more readable
puller.c: Fix trace printf in find_pair() to reflect actual arguments
puller.c: Fix some cases where we use int rather than Coord