Fix ResizeBuffer error by disposing the object returned by context.Targe...

That was in fact a bit tricky, due to a known issue in the way SharpDX is creating properties for COM objects. When accessing Direct2D `DeviceContext.Target`, even just for reading, as it was done in the MyGame class, it is in fact creating a new object instance, incrementing the reference counter on it. This is the main reason why the `ResizeBuffer` was not working.

In the commit, I have just slightly changed a couple of things to make it a bit more lightweight in case there is just a resize (and we don't need to recreate a whole Direct2D device)