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.