Improved Texture Allocation #2

Instead of reusing textures by saving a reference to the Texture itself we now save a reference to the Filter that owns this texture.
This is necessary to be able to reuse InputRenderTarget and OutputRenderTarget since those textures can be replaced at any time by MPDN, without updating the references in the filters that reused them.

Also moved AllocateTextures() from On(Input|Ouput)SizeChanged to GetFrame.

TODO: Improve names; e.g. rename steal/stolen to reuse/reused.