Describir: Artificial Life Models in Software