Render: Implemented simple render target pool

This avoids creating and destroying render targets every frame, which is a significant CPU overhead.
Old render targets are destroyed after 3 frames.
Unless I'm mistaken in some weird way, can this not be moved into the loop header?