svg external bitmap

This patch enables saving bitmaps in svg as external files, so as to reduce output size and rendering costs, and allow easier post-processing of bitmaps.

Currently only DCT images can be saved as jpg, other images are still embedded in svg.

Yes, DCT means jpg in PDF.

We may support dumping bitmaps encoded in other formats in furture, and the dumped format may not be sololy jpg (Deflate/CCITT/JBIG2 -> png, JPX -> jpg, I think), and `build_bitmap_path` could be refactored then.

Currently libjpeg is not required, because the DCT images are not re-encoded, just dumped. However if we want to dump other format in future, re-encoded is needed, and libjpeg/libpng are required. However, if svg bg is enabled, cairo alway re-encode images except DCT into png format, so libpng is needed after all.

Just be curious, why give users options to not link with libjpeg or libpng? these libraries are so common, and not big.