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.
Actually, nevermind, from what I can tell the ownership is really not unique here, so using unique_ptr would make things confusing.