d3d: Centralize more framebuffer management

This centralizes all the sizing, creation, offsetting, etc. logic - not all of which is supported by Direct3D yet.

-[Unknown]
Slipped this in.  Not entirely sure if it's safe, but this seems to be causing XP users problems?

-[Unknown]