Only redraw block when necessary

To improve performance, the color of each 'pixel' is stored in a map.
Redraws are only made when that color changes.