add Bresenham's mid-point line scanning algorithm