Non-static GraphicsCapabilities

Every GraphicsDevice now have it's own GraphicsCapabilities because an application (tools/viewer/editors/etc)might have more that one Device, possibly with different GraphicsProfile/FeatureLevel.

We need to check for capabilities only before performing actions on a devices, so a GraphicsDevice instance -and its GraphicsCapabilities- will always be accessible when needed. So, this change wont cause any problems in the future.