Replaced mixins init calls for event registrations

@eduojeda Osets, hice un refactor en el que reemplazo las llamadas `init` de los mixins. En su lugar cada mixin ahora registra un callback que es ejecutado cuando se llama a `init()`. La desventaja de este approach es que las clases no pueden pasar parámetros de inicialización a los init callbacks. La ventaja es que la definición de las clases se vuelve mucho más limpia. 

Haciendo un mapeo a ruby (y creería que php también), los mixins no tienen constructores o métodos de inicialización. El contrato entre una clase y un mixín es más bien implícito, de la misma manera que sucede con este nuevo approach. 

Te recomiendo empezar a mirar el código por el nuevo mixin `Initializable`. 

Update: Me acabo de dar cuenta de una ventaja genial que agrega este cambio. Como en este nuevo approach las Clases no necesitan conocer todos los mixins que incluyen, podemos hacer que un mixin incluya los mixins de los cuales depende automáticamente. Por ej: incluir el mixin `Sprite`, automáticamente incluiría el mixin `Positionable`.