Stop using `importall Base` and be explicit about Base imports
Improve color hierarchy and implementations of type manipulations
Change ImageCmap to require ColorValue arrays for the cmap
Supply necessary RGBtype information to Overlays
Change scaling, again!

New architecture:
- The first parameter specifies the output element
  type, period. No funny business.
  (There's still one exception to migrate over, ScaleSigned.)
- There's a scale1 method to apply a method defined for RGB types
  to the individual components of the RGB.
- This should have (or permit) much more flexible on-the-fly
  type conversions.
- scaleinfo(client, img) now returns a ScaleInfo depending on the client
  type. For example, Cairo would use a client of Uint32. ImageMagick
  just passes ImageMagick as the client.
- Most of these implementations have been checked at the level of
  generated LLVM/native code, so should be fast. However, no performance
  tests have been done.

Future goal: get rid of uint32color.jl. This almost has everything
needed to do that.