Adding PDFFormatter and kernel side handling of PDF display data

This is a continuation of #4130 to add PDF handling.