Cleanup SamplerState

Here's a listing of what's in the patch.

Adding enumerations for min/mag filters.
Adding enumeration for texture addressing.
Adding enumeration for surface formats in anticipation of compressed texture support.
Moving GraphicsDeviceCapabilities to its own file.
Adding additional extensions to query for and added prefix's to include in the query.
Adding anisotropic filtering support.
Mipmap generation only occurs for power of two textures.
Adding associated tests.