The way I handle this problem is I first create a set of points outlining the Bezier path (ie: resolution). From these points, I generate tri-strips by using a "railroad track" algorithm (ie: jump from one side to the other). This unfortunately does not work well for polygons that swirl back in on themselves. You will notice this at the bottom of the mane in the screenshot where there's a triangle cutting right across the bottom. I can see why he's so angry ;)
I'm wondering how I should go about solving this. Is my algorithm ok and I just need to add extra conditions (like intersection testing), or is there a better way to do this? It's very important that I minimize the number of strips in the mesh though. It's not like I will need accurate vertex lighting or anything like that.

Left = Firefox render. Right = mine, using tri-strips














