KoboMenu: call "xcsoar" from the KoboMenu directory
test/KoboMenu: move to src/Kobo/

This is not a test program, this will be production code.
Makefile: reduce KoboMenu dependencies
KoboMenu: move code to System.cpp
Memory/RasterCanvas: make conversion consistent in ClipIncremental
Memory/RasterCanvas: fix clipping bug in DrawPolyline
Kobo: implement KoboWifiOn()/Off() without shell scripts
Makefile: move XCSoar.exe rule to main.mk
Makefile: don't use $(OUTPUTS) for cab/dist

At this stage, $(OUTPUTS) hasn't been initalised completely, and the
rule may fail randomly.
Makefile: strip Kobo binaries

The Kobo has no self-hosting build environment; usually, one copies
stripped binaries to the Kobo.
Makefile: add rule to generate KoboRoot.tgz
Repetitive warning sound for airspace warnings dialog (enhancement #2952)

Adds repetitive warning sound when approaching or inside the prohibited airspace and
airspace warnings dialog is shown.
This is useful if you miss initial warning sound in sometimes noisy glider
cockpit and are close to airspace.
Warning sound is played with increased frequency as you are closer to airspace.
Enabling of this feature is configurable in Airspace configuration page by
checkbox "Repetitive Sound".
KoboMenu: eliminate attribute last_action

Return the action as the modal result code.
KoboMenu: use EXIT_SUCCESS and EXIT_FAILURE
KoboMenu: run XCSoar in a child process

Return to the menu after XCSoar has quit.
KoboMenu: use switch/case
KoboMenu: handle REBOOT, POWEROFF in main()
OS/FileUtil: use O_CLOEXEC in WriteExisting()
OS/FileUtil: add ReadString()
OS/FileMapping: use O_CLOEXEC