Basic Target module to manage render targets

I think GL backend should be responsible for caching the current state. We don't have this implemented yet. As for the sorting, it is supposed to be done by the render thread (as far I as see it), and we are not doing this yet...