Basic Target module to manage render targets

Are we redundantly binding the frame and program when this is called? Or does opengl optimize this and we're relying on the upstream renderer implementation to properly sort items to make sure this isn't going to affect performance?