Set SamplerState.GraphicsDevice to null on reset

The predefined SamplerState are statically initialized on first access
and their GraphicsDevice property set when Activate() is called.
However, SamplerState.GraphicsDevice is never cleared when the
GraphicsDevice is disposed. This leads to an assertion when a
SamplerState is initialized on a new GraphicsDevice.

This PR adds a static SamplerState.PlatformReset() method that is
invoked when a GraphicsDevice is disposed, allowing SamplerStates to be
re-initialized when activated on a new GraphicsDevice.