We should investigate the use of PIL (python image library) for drawing onto the dance surface. It includes a number of nice features including font handling and much more advances drawing primitives (such and arbitrary lines, arcs, ellipses...).
Not sure how we'd need to present the dance surface to the library, but it's certainly worth a look :)