Fix texture drawing in SDL 2.0.

For some reason, under SDL 2.0, rendering one texture then freeing it, then rendering another and freeing it, may cause the first texture to be presented as a mess of pixels.

I suspect that the renderer is deferring rendering or is in a data race, and that the textures must both stay valid until presented, otherwise drawing a second texture that happens to be allocated at the same memory location as the first one (which was freed) may cause the first one to contain undefined data.