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.
Are this clause and the previous one mutually exclusive? If so, `elif` would be clearer here. If not, it would be good to explicitly explain why and how this ordering of clauses is important in the chapter text.