There are a few avenues open for further development
of the code which I have thought of.
Relativistic physics could be implemented.
Lossy collisions (Q-factor non-zero).
OpenGl could be used to implement the drawing,
this could be easily done by replacing the gtk_drawing_area with a gtk_gl_area
A 3-D simulator could be built, definitely
by using OpenGl.