implements CGDataConsumer and missing constructor in CGContextPDF

CGDataConsumer is needed to place PDF data on the clipboard. This patch enables this feature.