Don't lazy-load D3D9.dll

We already link against it, so that's just a waste of time. Also, cleanup
some unneeded ddraw includes. Remember that in Direct3D9, all devices can
render in windowed mode.
We don't support 3dfx cards...

Come on, man... They made some good cards, but they went out of business
in 1999! Ain't nobody got time fo' dat.
We only support DirectX 9...

If you have less than 11MB VRAM or need to use the ref implementation,
then you are using a dinosaur and have no business even attempting to play
this game.
Wow, those cards are old...

Remove detection for cards that are don't support at LEAST DirectX 8.
There's no way they would even be able to get past Direct3DCreate9, so we
shouldn't need to worry about them... I hope.
Lots of cleanups to hsG3DeviceDelector
Get rid of obsolete readers/writes for device info
Remove some unused PS version stuff
Remove some obviously obsolete caps
Better management of TnLEnums and Direct3D9 object

Two of the big nasties, according to profiling, are the TnL enum and
creation of Direct3D objects. It turned out we were doing these things
several times (3 and 4 respectively) during the init process. So, now we
have an hsGDirect3D namespace and some smart pointers to manage them!