Improve naming and add documentation.

I think

    from submissions import Processor
    ...
    class ToPdf(Processor):

reads better than

    from grade import App
    ...
    class ToPdf(App):