overlays: Start work on ColorOverlayComponent

Most of this is based on inventory animation overlays, some complexity
related to drawing order was (temporarily) dropped in favor of getting
the prototype up and running.

Target colors can either be defined as [r,g,b,a] containers or as
strings. If the latter, they are interpreted as attribute template and,
for e.g. `owner.color`, we try to use `self.instance.owner.color` as
target color. Note that this attribute must be either a fife.Color or a
horizons.util.Color object to be recognized.

The `255 - c.a` should probably be generalized as something along the
lines of an "invert_alpha" property.