Prints before another printer.
Printer<T> before(Object other) => SequencePrinter<T>([Printer<T>.wrap(other), this]);