Geogebra is very mature and polished, has a huge user base, and extensive user contributions. There are also a lot of youtube video demonstrations and tutorials.
I've found this post on the Geogebra forum about c# dealing with the compressed xml file used by the program whose extension is .ggb http://www.geogebra.org/forum/viewtopic.php?f=10&t=31740 Geogebra supports python scripting.