Re-factor of gfx_fill_rect.

Moved cross_hatching code. Renamed some of the variables to make it easier to follow. Possible future change into big switch statement.