Revert "Implement fill_color from a software surface in all cases."

This reverts commit 5df2b8a3d74870671014e4eb644b29868ce536c6.
Revert "Don't destroy the software surface when the texture gets created."

This reverts commit 7db66c97306e203f41fc5c42b25754bb40812b7f.
Write all planned changes for this 'sandbox' branch
Fix the fill_color() method with internal_color usage (using direct drawing primitive)
Use SDL_RenderFillRect instead of SDL_RenderClear to draw a rectangle
We can't use opacity with direct drawing, use alpha channel instead
Setting a transparent background when building a surface is useless
Forgot this rebuild
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
Fix the black background when taking stairs (don't solve the clipping issue)
Fix stairs
Fix display position of some hardware subsurface. It properly fix stairs too
Don't care about the destination size at drawing level, use the source one