Rewrite ManWriter

roff does not lend itself well to being generated from kurrent ASTs,
which made a couple of rather ugly hacks both in the implementation and
in the emitted roff necessary.

To solve this issue the new ManWriter compiles the kurrent AST into a
roff AST, which the ManWriter then uses to emit roff code.

The ManWriter code is now very straight forward and the ugly hacks used
previously are now replaced with clean modifications of the roff AST.