Use software surface at the first level of Surface. Blitting them will draw into hardware surface. Draw this new surface will draw to the renderer (so very fast but not permanent)
Fix software to hardware copy
Revert "Fix software to hardware copy"

This reverts commit 1592a5fc7ec5b91b67632da5eea61fdeb25c1fa4.
Revert "Use software surface at the first level of Surface. Blitting them will draw into hardware surface. Draw this new surface will draw to the renderer (so very fast but not permanent)"

This reverts commit 06e3a7966c67b8fc7c2b6c1d45d0479558baa477.
Revert "Fix a segfault"

This reverts commit 673c380526ddedd0d9b50612b90c9dd6ed17ca48.
Revert "Keep a trace of the intermediate software surface (if any) until the next render"

This reverts commit 8167618c1b699dbc5042a6f2e0a0231f1251a53e.
Reverted too much

This reverts commit 98248db46f40d6a0d622d02706da4058e808fe5a.
Reverted too much

This reverts commit 7b667175a01de60a49ac427e0da2cdaa7c4582db.
Only use the subsurface trick finally : don't delete the subsurfaces queue if there is no draw on the Surface