Classification of square lattice cellular automata