Preliminary work to split Entity into a list of interfaces.

This will make way for the entity component system, and also maximize
reusability because you will be able to work with, for example, just
Feedable objects, whether they are even an Entity or not.