* animals can be defined through AnimalDefinitions. So multiple prey/predator types are possible
* Δenergy now decides how much energy the predator gets when the animal is preyed on. It does nothing on predators that have no enemies
* added some metrics through death_cause field to see how much prey dies through starvation/predation
* predator and prey now use the same functions
* currently its not possible to change the animal parameters through the interactive app
* implemented an energy_threshold so animals only reproduce when they have enough energy. Leads to less animals starving
* implemented new movement logic. Now animals score each neighboring cell based on distance to food and danger. Prevents prey from running into predators
TODO:
generate the parameter dict for the model so animal parameters can be changed during simulation
combine danger and foodscore into one
check for occupied cells so they are not scored/chosen