Two thoughts/questions:
- do you feel that this could be used to make a (simple) drawing program?
- have you considered setting up your codebase as a Literate Program?
http://literateprogramming.com/
Notably, that would then allow publishing the project as a PDF for didactive purposes.