Convert graphs to SVG
For faster rendering, reduced memory usage, and crisper graphs and graphs text. This builds on the rrd4j 3.10 changes in 2.6.0 that support custom ImageWorkers.
New classes are:
- SimpleSVGMaker, a from-scratch low-level svg generator
- SimpleSVGGraphics2D, a Graphics2D adapter built on SimpleSVGMaker
- SimpleSVGImageWorker, a rrd4j ImageWorker adapter built on SimpleSVGGraphics2D
The first two classes are a replacement for the license-incompatible jfreesvg, in about 1/4 of the size. They implement what is necessary for rrd4j, plus some extra features that will be used for SVG identicons and SVG map overlays, which will follow in later MRs. There are numerous unimplemented Graphics2D methods and features that will throw UnsupportedOperationExceptions.
Tested extensively over several months; a related set of changes, based on jfreesvg, has been merged and tested on I2P plus.