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.

And about `str` & `ref`, I'm not sure if `ref` is the identifier for `str`, can we use it to identify each image?