Fixed a bug in the orbit code

Fixed a lovely bug in the orbit code. in the array the planets coud be
set as so:
new planet(..., 0, 0);
new planet(...., 1, 1);
new planet(...., 0, 0);
where the numbers are the values for the orbits x and y diameter values.
The bug was that the third one with 0,0 diamters would orbit with (1,1).
With more planets these values would accumulate, so if the third had
been (2, 2) and the fourth (0, 0) then the fourth would orbit as if it
had the value (3,3). This turned out to be a problem in the rendering
code of the planet class. The planets were being translated to their
world positions then rendered and that was all. The matrix needed to be
translated back to its original state before the next planet could be
rendered. This is why the orbits accumulated. Once one planet had some
orbit values the matrix would be shifted by them to render that planet,
and then the matrix would stay shifted until it came to render
everything again from the beginning.