A message for changelistener-induced update calls on instance inventory

Thanks to squiddy for explaining things to me!
Temporarily increase zoom level

Color overlays.
Color overlay test images (for wooden tower)
Add separate images for lumberjack planks and logs production stages
Add separate log renders for sailor lumberjack.
overlays: Start work on inventory overlay component

Adds an initial structure for the component, with somewhat well-defined
methods and a few properties as more readable shortcuts for FIFE-based
stuff that is needed every now and then.

Also adds a bit of documentation, some TODOs and error handling for the
yaml-defined component data (no checks for negative amounts currently).

As for `remove()`:
I left some questions about how the base image is supposed to be handled
in the respective code. This should ideally be clarified with FIFE to not
cook up some custom haphazard "solution" - maybe we can even get a nice
interface built into FIFE.

`convertToOverlays` was moved from `initialize()` to `add_overlay()`:
Initialize would just be able to call this for the current action (e.g.
`idle`) but there is no guarantee that add_overlay is called for `idle`
only. So now before adding overlays, we check whether that is actually
possible and if not make it possible.
overlays: Listen to InstanceInventoryUpdated messages

Can not believe this actually works now, so maybe it does not.
Ugly attempt to fix the initialization problem
Use new great brilliant awesome incredible graphics kit by UnknownScribe
Handle overlays that become nonexistent for some reason

This usually happens if, after a tier upgrade of some building that has
this component, either a new resource can be produced that is not listed
in the inventory overlay component definition, or new action sets are
unlocked in that tier that have no such overlays defined yet.
A fix muting the warning always is to define empty structures, like

    as_i_have_no_overlays:
      RES.INPUT:
        - [0, null]
      RES.OUTNPUT:
        - [0, null]

Ideas for some more readable approach very welcome, as the above
essentially is a very verbose noop. InventoryOverlayComponent defines a
currently unused `properties` attribute that may come in handy here.
overlays: Disable inventory animation overlays if not supported by FIFE

We run on the current FIFE release which happens to not include support
for animation overlays, so anything not silent would be inappropriate.
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. There is no exception handling in case that color is not
a horizons.util.Color object in place currently, so beware!

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