Changed space based implementation to a cell based one
    Basically, it keeps around a cell iff it is alive, now
    all algorithms run in time proportional to the number of living
    cells and the size of the space
Made some changes because conway.py had to change