Page initialization
~~~~~~~~~~~~~~~~~~~
It makes sense to lump all initialization into a procedure and call it
at the start of each page. Like this:

    /page-init {
            % set landscape
            % fill background
            % make headers
            % nf ng fR
    } def

or maybe even

    << /BeginPage { ... } >> setpagedevice

Well, no.  Upon a closer inspection, repeating short commands like

	nf ng bk Hl

and so on at the start of each page works just as well.

Simplier code, negligible size increase, and what's important, input-independent
procedures can now be moved to a procset and handled using common procset rules.

And in addition to that, there's a lot of things that aren't page-independent.
Headings, colors, fset variant and so on.


Output file size: u2ps vs a2ps
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unless told otherwise, u2ps embeds fonts in the output document, while
a2ps never does that. Basic Latin subset of FreeMono adds ~35KB to the
output size. Using non-Latin scripts can easily raise that to 100KB or
more.

Unicode handling requires a lot of code in the prologue, too.
At this moment it is not much larger than the a2ps prologue (~12KB both)
but this is likely to change with the addition of bidi support.
