Decouple Objects into components.

This is the first step in creating ObjectFactory.
Basically, Object is a set of components + coordinates (it is handy for coordinates to NOT be a
separate components because this way Levels can provide direct access to al Object components and
assure correct Object movement). For now Description component is mandatory for all objects, but it
may change in future implementations.
Added helper function: coord2Rect.