A message for changelistener-induced update calls on instance inventory

Thanks to squiddy for explaining things to me!
Includes YAASH (Yet Another Awful Scheduler Hack) to instantly update
overlays on load, making sure that the new overlay component (which will
eventually listen to this message) can update graphics right after load.
`component.overlays` logger
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.
Include `action` in InventoryOverlayComponent definitions

This would have blown up as soon as something with an action different
from `idle` and some different properties (e.g. frame amount or
animation length).
So now overlays for each possible action need to specified manually.
A good use case for some property `use_idle_for_all_actions`?
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 correctly recognized.

The `255 - color.a` should probably be generalized as something along
the lines of an "invert_alpha" property.
Support for changing multiple colors per overlay, and multiple overlays

Generalized alpha property in the sense of it simply being definable
through YAML now. Also wow, that docstring.
Allow defining alpha value of fife.Color attributes

Uses new property notation of fife.Color which is not merged into master
just yet.