Thin3d - the thinnest wrapper around D3D9 and GL around

Add Thin3d, slip it underneath all our UI drawing code so that it can now run on either OpenGL or Direct3D.