vcl: Use the current OpenGL context for VirtualDevice and Bitmap if possible

Conflicts:
	include/vcl/opengl/OpenGLContext.hxx
	vcl/inc/openglgdiimpl.hxx
	vcl/opengl/gdiimpl.cxx
	vcl/opengl/x11/gdiimpl.cxx
	vcl/source/opengl/OpenGLContext.cxx

Change-Id: I17f6ce66fb8b5bc027d35b4016ae56c24ee0a738
vcl: initial outdev unit test - for VirtualDevices.

Change-Id: Ia2bb1f8110c738cfbf6ff84293af115b32abeb93
vcl: remove SalVirtualDevice::GetWidth

It is presumed that #i59315# is fixed already, and that this is no
longer necessary.

Change-Id: Ifb2f6550fac2481c4fec269b38d6e806753cb53e
vcl: create a GeometryProvider interface.

Implemented by both SalFrame and SalVirtualDevice, to help us to
un-tangle code that needs to operate on resources associated with
both of these without special cases.

Change-Id: If681a002647e20c57186577fe039d4ac85bba872
vcl: Consolidate size information around the GeometryProvider.

Conflicts:
	vcl/inc/openglgdiimpl.hxx

Change-Id: I1d764a8dba1850d2475f08e1014a085846f336c3