Add svg-nodes-limit option to avoid overly complicated svg background.

Some pdf pages may generate overly complicated svg background, which make browsers have difficulty to render them, especially on mobile devices. So I add this option to restrict node count in svg. If the limit is exceeded, generate a bitmap background instead.

The object returned by `str_fmt` is also pointing to the (shared) buffer. That's why temporary variables like `fn` here are always enclosed by a local scope.
I recommend that you copy the file name out, possibly using a `std::string`, otherwise you cannot call `str_fmt` again in this function.