Topological Dynamics of Cellular Automata