Explain the Bresenham line Algorithm