First draft of typesetting engine

I implemented the Knuth-Plass algorithm. If necessary, I can simplify the code (the current version may work for circle or triangle-shaped text, [see this example](http://www.bramstein.com/projects/typeset/) but we don't need such advanced use).

The PostScript part still needs to be done.
For purposes of publication, it might be better to put this dict in a separate module, format it sanely, and then omit it from the 500 lines count entirely. (We can add a bit of commentary in the chapter text itself to highlight the types of entries that one would find here.)