Move color structs & functions to own header

To prepare for the map zoom level support
Fix/improve handling of colors with alpha channel

Color mixing using alpha channel now spans map blocks.
So for instance, water is partly translucent to great depths.

Water (or other translucent material) now also becomes darker
with depth.