(updated) Always draw crosshair on half-pixels to prevent aliasing

Round the coordinates to the nearest whole number and then conditionally add 0.5 pixels if the line width is odd. This makes it so the crosshair is never drawn in between screen pixels and so it will always look crisp/clear.

Note: this replaces #924, and it only applies the coordinate adjustment when drawing (like in #17).