Graphics Init Cleanup

This is an amalgamation of various fixes to the graphics subsystem initialization. The purpose was to decrease the amount of time the lame "Starting Uru, please wait..." splash screen hangs around, hence the disjointed nature of the changes. The main culprit here was that the Direct3D object was recreated four times before the main client window was ever shown. Each recreation cost approximately 0.15s, so we've sped this up by almost half a second. You also get a bit of code cleanup free of charge.

(I have been reminded that parts of this code break DirectX 8. Time to start breaking the dinosaurs IMO...)