Resize FBO textures using width/height properties

This will reallocate resized versions of the underlying texture instances when changing the value of either `width` or `height`. The resize itself will be deferred until the next use of `Framebuffer::bind` to avoid performing this multiple times per frame.

@mikolalysenko let me know what you think – thanks! :)