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.engine/src/org/eclipse/birt/chart/device/IDisplayServer.java
*            The number of dots per inch
	 */
	void setDpiResolution( int dpi );
	/**
	 * Attempts to use device specific libraries to load an image for use with
	 * the device renderer
	 * 
	 * @param url
	 *            The URL associated with the image location
	 * 
	 * @return An instance of an image associated with the specified URL
	 * 
	 * @throws ImageLoadingException
	 */
	Object loadImage( URL url ) throws ChartException;
	/**
	 * Returns the size(width, height) of the device specific image that was
	 * previously loaded by the <code>loadImage(URL)</code> method
	 * 
	 * @param oImage
	 *            The image for which the size is being requested
	 * 
	 * @return The size of the image
	 */
	Size getSize( Object oImage );
	/**
	 * An observer is typically associated with certain device types to aid in
	 * image loading and image metadata retrieval.
	 * 
	 * @return An image observer associated with a specific device renderer