svn path=/trunk/; revision=18459
This code also requires a major redo of the cairo implementation now in cairo cvs.