Because anti-aliasing can be in the way sometimes, yet another
Bresenham's algorithm
JS example