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.

>what if one call using (0,1) and another call using (0,2)? 

This just can't happen. (0,1) is removed,  (0,2) is alive (if no (0, 3)). Accessing to an indirect object requires looking up xref table first. If a drawing command tries to fetch (0,1), it will see (0,2) is there, and is aware that (0,1) is removed, and behaves as if (0,1) is null. 

>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 .

Not many, I just want to make the code simple. In practice, incremental update seems not used extensively, and in most case gen number is 0. PDF writers/optimizers would remove unused objects, too. So keeping obj number in file name is good enough for debugging, I think.