Blurry lines bugs

These commits fix bugs in the current crosshair and selection implementations where canvas can only draw sharp lines of even widths. This is because canvas coordinates are at the origin of a pixel, not in the middle.