Revert "Revert 'Don't destroy the software surface when the texture gets created.'"

This reverts commit 03e3fa46bf92823754300d3f4cfc3843382a2436.
Fix comments
Only render a subsurface if its destination rectangle has intersection with parent rectangle
Finally, setting a transparent background when building a surface is useful with software surface