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.

I've read again the relevant sections in the PDF spec and some part of poppler code (Gfx.cc and CairoOutputDev.cc).
I think I misunderstood the PDF spec previously, I thought xref table is dynamic, such that you can draw something (in the table), remove it, and then replace it with a new one.

However still I cannot see proofs that using merely object number is safe. In our context we cannot assume too many things about `xref`, what if one call using (0,1) and another call using (0,2)? Of course at least one of them must be invalid, but we will end up using a same dictionary entry & image file.

On the other hand, are there any other concerns that you think using both of them is not proper? I think it's safe, and the file name could  be more useful for debugging .