I had been giving some occasional attention to this process, Homography/Projective Transformation, since reading this thread last February. The non-linear entity situation is rather sticky, but I’ve found an effective way of dealing with them without segmentation.
The .NET code that produced the attached file is so entangled in separate libraries that there is no easy way to post a concise routine here. I could explain the process, though, if there is any interest.
Again, though, I’ve headed into an area of limited practicality. Generally, I do believe faceted curves are good enough for this type of task. The process I’ve used here would make for smaller file size, and may be fast enough for real-time feedback (if a developer wanted to go that route). Perhaps also, the better fidelity of these reconstructions via NURBs would avoid hatching issues that could arise at intersections.