Basic Target module to manage render targets

I believe Rust needs the static generic parameters. With that in, we could easily make the user to just specify that as a generic thing. I set it to 4 here because I simply haven't encountered a need for more.