Split MapWndProc into function
Replace hWndMainWindow & hWndMapWindow by new MainWindow class.
Move DISABLEAUDIO and EnableSoundModes inside Sound.cpp
Screen/Color: portable color class, replacing WIN32 COLORREF

Import some code from XCSoar, including the "GDI" implementation (for
Windows) and the "Memory" implementation (for software rendering into
a memory buffer, e.g. for SDL on Linux).
Screen/LKColor: rebase on class Color
Screen/LKPen: simplify move operator

Implement using a simple swap.  This avoids (postpones) the Release()
call and makes the operator zero-cost.
Screen/LKPen: fix bug in move constructor

This was bugged, because it made the new LKPen instance depend on the
old one.  The old one could not be thrown away, violating the C++
standard.
Screen/LKPen: add static method MakeStock()
Screen/LKBrush: simplify move operator

Implement using a simple swap.  This avoids (postpones) the Release()
call and makes the operator zero-cost.
Screen/LKBrush: fix bug in move constructor

This was bugged, because it made the new LKBrush instance depend on
the old one.  The old one could not be thrown away, violating the C++
standard.
Screen/LKBrush: add static method MakeStock()
Screen/LKBitmap: simplify move operator

Implement using a simple swap.  This avoids (postpones) the Release()
call and makes the operator zero-cost.
Screen/LKBitmap: fix bug in move constructor
    
This was bugged, because it made the new LKBitmap instance depend on
the old one.  The old one could not be thrown away, violating the C++
standard.
Screen/LKFont: simplify move operator

Implement using a simple swap.  This avoids (postpones) the Release()
call and makes the operator zero-cost.
Screen/LKFont: fix bug in move constructor

This was bugged, because it made the new LKFont instance depend on the
old one.  The old one could not be thrown away, violating the C++
standard.