I've made some nice progress with openvoronoi. See my blog:
http://www.anderswallin.net/2012/01/vd-for-polylines-and-polygons/
This is not quite ready for general testing yet, but it looks promising.
The reason for a voronoi-diagram is ofcourse mainly to generate
offsets. While coming up with the diagram is an O(n*log(n)) algorithm
(for n line-segments), the offset generation should be a simple O(n)
"marching" algorithm (I haven't written this yet!).
Another application is to calculate the medial-axis, e.g. for
V-carving. See for example Andy Payne:s page over here:
http://www.payne.org/index.php/CNC_Projects
stay tuned...
Anders