reimplement/fix dimRect()

dimRect() did assume that 0=white, 15=black (old 4bpp inverted colors),
thus did work the other way around. Fix this. Drop the pixel dim method,
rather use a blend with WHITE and (by default 50%) alpha.

TODO: rename this method. It "dims" the black, i.e. it in fact lightens
things up. However, the "lighten" method does the inverse...