d3d: Begin centralizing framebuffer management

Trying to avoid any speed impact to GLES.  So far didn't find any.

Hopefully doesn't muck up too much in d3d9 that's not completely updated yet.

-[Unknown]
Yeah, aliasing the structs should be fine since it's just a pointer.