Removed compose language feature of specifying a component when sending
messages or setting properties.

I thought this feature was necessary to set properties, but the truth is
it only leads to tight couplings between components. For a component to
set a property on some component in the entity, it must know the hash of
the component.

When you think about it, this is very limiting. I thought it would
benefit performance, which it would since you could send the message
directly to the component rather than looping through all components
until you get a consumed response.

The beauty of loosly coupling components is that a component can
implement a loose interface by having properties of specific names and
handling specific messages.  I think the flexibility will outweigh any
performance gains by specifying components, and there are opportunities
to optimize the generic approach.

There's also the benefit of getting the payload field of the message
header back to use for actual data, and not have it permanently reserved
for specifying the target component.  So many messages will have a 1
cell payload, and now all of those messages will only take 1 16byte
block instead of 2 (32 bytes).