Bug 194549 Memory leak in chart device renderers
After memory analysis for Chart code, it indicates java.awt.Font objects are not garbage collected. Investigating the renderer code, Graphics2D objects in IDisplayServer and IDeviceRenderer are not disposed after chart rendering finished. Need to invoke IDeviceRenderer.dispose() after ChartReportItemPresentationImpl being finished, and dispose all required resources in that method, including IDisplayServer and anything else.
chart/org.eclipse.birt.chart.device.extension/src/org/eclipse/birt/chart/device/swing/SwingRendererImpl.java
{
	/**
	 * KEY = TRIGGER_CONDITION VAL = COLLECTION OF SHAPE-ACTION INSTANCES
	 */
	private final Map _lhmAllTriggers = new HashMap( );
	/**
	 * key = ShapeAction, val = collection of trigger conditions
	 */
	private final List _allShapes = new LinkedList( );
	private final Map _htLineStyles = new HashMap( );
	protected Graphics2D _g2d;
	protected IDisplayServer _ids;
	private SwingTextRenderer _tr = null;
	private IUpdateNotifier _iun = null;
	private SwingEventHandler _eh = null;
	
	private InteractiveRenderer iv = null;
	private static ILogger logger = Logger.getLogger( "org.eclipse.birt.chart.device.extension/swing" ); 
	/**
	 * The constructor.
	 */
	public SwingRendererImpl( )