Multiple GameWindow support for Windows/DirectX

Adding support for multiple GameWindow(s) within a single game.

This is only implemented for WINDOWS && DIRECTX

Non-primary windows do not handle any input and for input events to reach the users game the primary window must be active. This can be improved at a later time when it is a needed feature.

The existing Game / Platform / GraphicsDevice code is largely unchanged and only deals directly with the standard, primary window which it also creates.

Example:

```
// In Game.Initialize()
window = GameWindow.CreateWindow(this, 640, 480);
window.Title = "Second Game Window";
swapChain = new SwapChainRenderTarget(GraphicsDevice, window.Handle, 640, 480);

// In Game.Draw()
GraphicsDevice.SetRenderTarget(swapChain);
GraphicsDevice.Clear(Color.Red);
GraphicsDevice.Present();
GraphicsDevice.SetRenderTarget(null);
```