removed static optimizations (mostly lazy evals)

also mv PrinterEngine => Engine, enforced Engine interface