Cellular Planets: Optimizing Planetary Simulations for the Cell Processor