Game of life, written via test-driven development (TDD)