GFX now handles non-default adapters

The GFX (DirectX) pipeline did not respect the choice of adapter and always went for the default one.  Normally this isn't an issue unless you wish to target a particular adapter and display device combination.  This has been corrected.

The GFX initialize functions now attempt to find the best adapter that matches a given display device (i.e. monitor) if one has been passed in.  To aid with choosing a display device some new monitor enumeration methods have been added to the platform window manager.  These methods have been exposed to the Canvas.

The new $pref::Video::displayOutputDevice console variable is used to set the display device to target.  You set this prior to creating the Canvas, just like you would with $pref::Video::displayDevice.