Fix Comparable troubles
Merge pull request #180 from kenzierocks/euler-direction-extends-comparable

Fix Comparable troubles
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.
Change Positionable to use doubles rather than floats.
Added base class for custom events