BIG TOPICS:
1) create a consistent tool/plugin system
	plugin input:
	-	canvas (drawing, connecting to mouse/keyboard signals)
	plugin output:
	- icon
	- help text
	- options widget
	- command
	- kaction?
2) selection redesign
	- unify object and or node selection?
	- achieve tight selection (exact selection-object collision test)
3) reintroduce nodetool
4) make VObject leaner
5) introduce renderstack. And dont forget to rewrite shadoweffect to use it.

GUI:
-	split the dialog under "Object->Transform" into different non-tabbed dialogs
-	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
-	other koffice apps have widgts that may of interest to us, for instance in kpresenter. We should
	try to reuse them.
-	make a UI for the node manipulation tool.
-	rework the stroke/fill docker with preview on the document and apply button.
-	Find a better way to select a color than the color manager. Maybe a popup ?
-	gradient widget: maybe turn the midpoint arrows to black or 3d triangles like in gimp or illu
-	gradient widget: better separate the midpoint arrows from the color stop triangles: put them
	above the gradient bar like in adobe products. the current situation is a bit nasty
	with near together midpoints and colorstops
-	gradient widget: the midpoint arrows are currently hard to hit and modify

REAL BUGS:
-	patterns dont zoom
-	VSelectionTool has an offset error relative to the handle nodes in the VSelection.
-	fix i18n singular/plural
-	crashes in vtext
-	make curve1To, curve2To work
-	vpolylinetool creates beziers where it could create lines

TODO:
-	make pattern coords absolute and not relative to the shape
-	VImage
-	VPattern like VImage with embedded binaries instead of paths
-	bring text support back, ideally using fontconfig and freetype, and no xft.
-	printing
-	select first/last segment's knot if one of each other's knot is selected
-	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.
-	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.
-	make VSelection a state pattern
-	try to abstract rendering even more, preferably using kpainter abstraction.
-	make layers tree robust, efficient and scalable.
-	support 2 roundness params (rx and ry) for round rectangles.

WISHLIST:
-	krita export filter (with layers)
-	gimp gradient import
-	add a nice grid-like shape like in Illu and webdraw

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

MAKE IT NICE:
-	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
-	think about using ghostscript's flatten algo (see comments in vflatten.cc)
-	why represent opacity as float, not as short?
-	introduce our own "Color drag" class, since we have in addition to rgb also opacity,
	and maybe also gradient info could be dragged later.

