preliminary version of documentation for module developers

This is still very VERY much a work in progress, but it's a start, and
this way Yu and I can both edit it.