Add behaviour

Behaviours are actions for the beings
Refactor being

Reorganize the class, as it was getting big. Also, discard all the
methods that will become behaviours.
Remove virtual keyword from event action
Comment implemented events

These events need a refactoring to use behaviours.
Minor syntax changes
Remove state ids

State do not need ids, as they are stored in a map containing those ids
in being.
Remove behaviour
Order neighboring tiles by distance
Add being factory
Add calculus utilities
Add being subclasses
Initialize state with applyChanges()
Add behavior related methods in Being
Add behavior related methods to Being
Remove chromosomes
Minor change in a comment
Define the factory getter in the simulation
Use the factory in population
Implement the factory methods
Update main accordingly