forked from: Bresenham Line & Circles

Bresenham's line algorithm
http://en.wikipedia.org/wiki/Bresenham's_line_algorithm