An arbitrary 2d cellular automata simulator