GUI:
-	split the dialog under "Object->Transform" into different non-tabbed dialogs
-	put the dockers in a space optimized way into a docker which shows up in "View"
-	remove the "Selection property" docker, this is basically the same as the above docker
-	remove the dialogs which show up when double clicking the strokefillpreview, this job is done
	by "color manager" docker
-	"color manger": dont update color/create a action each time the color slider is dragged
	but only if it is released.
-	make some pattern widget, krita seems to have a nice one, maybe we can work
	together, share pattern images and put something in kofficeui.
-	we need a gradient widget, maybe cooperate with krita too
-	other koffice apps have widgts that may of interest to us, for instance in kpresenter. We should
	try to reuse them.
-	remove the dialog which opens when double clicking the gradient tool and but the functionality
	into a docker together with the gradient widget
-	imho "View->Refresh" is an excuse for not being able to code properly

REAL BUGS:
-	y-mirroring while being embedded
-	scale gradient coords while zooming as well
-	fix i18n singular/plural
-	zooming has problems (zoom out: shapes and selection coords are different. zoom back:
	canvas is "fragmented")
-	canvas doesn't repaint correctly while scrolling with the scrollbar
-	copying works wrong: the last selected shape is pasted instead of the shape one copied

TODO:
-	VImage
-	VPattern like VImage with embedded binaries instead of paths
-	use VPathIterator everywhere instead of direct VPath access where not necessary.
	this way you'll get node undo/redo automatically.
-	port all sophisticated VPath::functions like counterClockwise() to VPathIterator.
-	add undo/redo to shape commands like VFlattenCmd etc
-	if selecting many shapes, the fill/stroke state should be "unknown",
	preview widgets needs to paint questionmarks or something in this case
-	select first/last segment's knot if one of each other's knot is selected
-	investigate whether we can use a KToolBar with an appropriate layout to replace
	our current non-conforming solution.
-	port path commands to vgroup::insertNewDeleteOld(), maybe add a vpathcommand
	similar to vshapecommand
-	allow for multiple strokes and fills in VPath which get rendered in the order they occur.
-	use inside/intersection tests in vpath::combine() for changing winding.
-	use vflatten in vselectool for more precise selection (lenny)
-	printing
-	change flatness test in intersection code to a estimation used in gems code. otherwise
	if the 2 input curves are the same our code runs forever.
-   bring text support back, ideally using fontconfig and freetype, and no xft.

WISHLIST:
-	Ctrl or Shift (pressed) while dragging a shape should make the shape move along only one axis
-	krita and/or gimp export filter (with layers)

OPTIMIZATION:
-	in VShapeTool and all manipulation tools: store temporary objects so one doesnt
	have to recalcuate/regenerate those for second draw() (erasing old shape)
-	make fill/stroke shared so copying for undo/redo is more efficient
-	transform() bbox too and dont recalculate it
-	check places we use sqrt() if these are really necessary (lenny)

MAKE IT NICE:
-	being a kde/koffice app, we should use the global selection color for selections
-	use SVG's path notation natively?
-	vroundcorners needs to be improved for beziers and big radii (lenny)
-	can't we pass VTool::draw() a painter inseatd of each tool creating a painter itself?
-	remove V*Tool::refreshUnit(). call this directly via dialog() instead
-	pass all dialogs a parent
-	introduce centroid() for vsegmentlist. problem: CM for beziers?
-	think about using ghostscript's flatten algo (see comments in vflatten.cc)

