This is an old revision of the document!
I was originally doing this automagically with JSDoc, but it made the source code a mess. So here it all is redone by hand in markdown.
I do my best to keep this up-to-date, but the source code is the ultimate reference.