Don't clip trees recursively

This generates a flat poly list that is clipped against a foreign tree, then a fresh tree is built and ours is replaced.

This avoids calling into the :shit: show that is `bsp_clip_polygons()` as often.