InfoBoxes/Contest: New "OLC Speed" InfoBox (#2352)
po: update xcsoar.pot and *.po
Screen/Layout: Decrease minimum control height

Some controls where not accessible with the old minimum control
height of "22", e.g. the last item in the task managers "Rules"
tab for a task type of "FAI badges/records" when using a device
with a screen size of 800x480 - landscape (like a Dell Streak 5").
DigitEntry: Assure that entry form fits into available screen width

Fixes trac issue #3069.
CompassRenderer.cpp: Adds black area to North arrow
(conventional North arrow)
MapLook: improve dithered compass colors
po: update French translation
Factory.cpp: Corrects a typo
Screen/Bitmap: use regular integers instead of PixelScalar
Screen/Memory/Bitmap: implement methods GetWidth(), GetHeight()
Screen/Bitmap: move code to ResourceBitmap.cpp

Allow using the screen library without ResourceLoader.cpp.
Kobo/System: move code to SiblingPath()
Device/Driver: split FlightInfo from struct RecordedFlightInfo

Prepare for reusing that part of the struct.
Logger/FlightParser: parser for FlightLogger files
FlightListRenderer: new renderer for displaying a list of recent flights
Kobo/PowerOff: utility program that shuts down the Kobo

.. and displays a XCSoar logo with a list of recent flights from the
flight logger (flights.log).
TCPClientPort: use IOThread::Remove() instead of LockRemove()

During OnFileEvent(), we're inside the IOThread and we don't need
locking.
IOLoop: ignore OnFileEvent() value if new handler has been installed

If the file descriptor has been closed already, and a newly opened
file happens to have the same number, don't delete the new handler.
Device/TCPClientPort: don't disable READ event after connect

Returning false will delete the READY event installed by
SocketPort::Set(), and makes receiving data impossible (TRAC #3066).
FB/TopCanvas: add option to disable Kobo dithering

Don't dither the PowerOff screen.  It's not volatile, and the XCSoar
logo looks prettier in grayscale.