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.

The filename will be inserted into the svg file, I'm not sure if they will be used for lots of time, if so, longer names will lead to larger files. This explains why I prefer `x` and `%x`.
I didn't thought of optimizing for searching, you could actually use `o(\d+).jpg` or similar regex.
I guess it's possible to define a image resource and use it many times in graphics, in that case, the file size will differ a lot according the file name you use. Especially object number can be large, so `%x` would save a few bytes, or maybe a few kilos.


For `build_bitmap_path`, why do you need the argument them, I think the return value itself would be enough.