Outline: optimize rendering of filled and stroked object

Additional optimization is getting rid of the stroke call altogether, if
the object is filled, the stroke color is the same and the line width is
zero.
diasvg.py: support inlined images and line style for draw_beziergon

and avoid:
<type 'exceptions.RuntimeError'>RuntimeError("The pathname '(null)' is not an ab
solute path",)Traceback (most recent call last):
  File "D:\Graph\dia2\python\diasvg.py", line 210, in draw_image
    % (point.x, point.y, width, height, image.uri))
jigsaw: optimize to combine fill and stroke in one element
Assorted: optimize to combine fill and stroke in one element

still there are two elements rendered e.g. with SVG due to draw_polygon()
and draw_ellipse() not being optimized yet.
DiaRenderer: replace fill_polygon() with extended draw_polygon() method

What started with draw_beziergon() is continued with draw_polygon(): merge
two calls into one to get rid of superfluous drawing commands and arbitrary
object splits.

Given that fill_polygon was a required method now draw_polygon is. So it was
implemented more often than fill_bezier

To reduce the risk of breaking file formats not yet tested the following
pattern is introduced:
 - rename draw_polygon to stroke_polygon
 - keep fill_polygon as local function
 - make new draw_polygon call one or both for fill and stroke parameter
As a result the output of these exporters wont change at all.

Not optimized are: MetaPost, LibArt, XFig, VDX, diastddia.py
Also not optimized, but more simple are: PGF, PS, PSTricks and Skia

Optimized to fill and stroke in one step are: WPG, PyDia, WMF, CGM, DRS,
  cairo, SVG, Shape, GDK, HPGL(kind of;)) and DXF(as limited as before)

Fully optimized shape rendering for: AADL, Custom, KAOS, Standard,
  Flowchart, Network, ER, Chronogram, UML - i.e. all programmed objects
Make cairo renderer default for anti-aliased display

With the Libart renderer being a deprecated plug-in and the cairo renderer
offering a lot of features including proper highlighting it seems reasonable
to have default at cairo, although you loose a lot when it is switched off ;)
DiaRenderer: replace fill_rect with extended draw_rect method

What started with draw_beziergon() is continued with draw_rect(): merge
two calls into one to get rid of superfluous drawing commands and arbitrary
object splits.

Given that fill_rect was a required method it could be expected that now
draw_rect is. But with draw_polygon also being required there is a perfect
fallback for the base class. So some renderer's draw_rect/fill_rect
implementation could just be removed.

Just using the base class now are: DXF, LibArt, MetaPost, PGF, PS, PSTricks, VDX

To reduce the risk of breaking file formats not yet tested the following
pattern is introduced:
- rename draw_rect to stroke_rect
- keep fill_rect as local function
- make new draw_rect call one or both for fill and stroke parameter
As a result the output of these exporters wont change at all.

This is only used by: XFig and diastddia.py

Also not optimized, but simple are: HPGL, Skia

Optimized to fill and stroke in one step are: SVG, GDK, cairo, diasvg.py, WMF, WPG

Fully optimized shape rendering for: AADL, ER, FS, KAOS, Standard,
Network, UML, etc. pp. - i.e. all programmed objects
DiaRenderer: replace fill_rounded_rect with extended draw_rounded_rect

Fully optimized versions for: GDK, Import, DRS, SVG, diasvg.py, WMF

Not fully optimized: PGF

Base class is good enough for: cairo

Object code adapted everywhere: Custom, Flowchart, IStar, KAOS,
metapost: remove superfluous DiaRenderer prototypes

not necessary if metapost_renderer_class_init() comes after the renderer
function implementations referencing them.