d3d: Centralize more framebuffer management

This centralizes all the sizing, creation, offsetting, etc. logic - not all of which is supported by Direct3D yet.

-[Unknown]
D3D9X only works on Vista and above afaik, so it'd likely cause trouble, yes.