InfoBoxWindow: ensure that the unit symbol is visible

The InfoBoxWindow can choose between two value fonts, a big one and a
smaller one for long values.  For choosing the font, it checks whether
the value fits into the window width, but forgets to consider the
unit's width.  This commits adds the missing check.
Android: move BatteryReceiver to separate Java class

Remove dependency on the NativeView instance.
Makefile: support newer IOIOLib

IOIOLib commit 04bb6926 added an abstraction for Android's logging
library living in target/android/src/ioio/lib/spi/.  Symlink this
directory to include it in the XCSoar build.
Android: import IOIOLib as a git submodule

Previously, to build the Android package, you had to have a copy of
IOIOLib somewhere on your hard drive, and use the make variable
IOIOLIB_DIR to tell XCSoar's Makefile the location of that directory.
That was cumbersome and error prone, because there was no good way to
specify which IOIOLib version XCSoar expects.

Another idea was copying just the IOIOLib into xcsoar.git, but that
was hard to keep up to date, and maintaining a copy of another project
is not so elegant.

The git submodule refers to the commit that is near to the release
V3.30.

The IOIO feature is no longer optional.
Gauge/GaugeVario: Fix ballast display

Fixes #2911
mapxbase.c: don't specify FILE_OFFSET_BITS locally

Since this macro isn't defined when compiling the rest of zzip and other uses of it
(jasper), we end up with a mix of off_t sizes depending on the platform.

This is the cause of bug #2564.
InputEventsMap: force signed integer multiplication in sub_PanCursor()

Fixes keyboard panning with track up (TRAC #2908).
Manual xcsoar.sty: Removed package floatflt.sty, because it does not seem to be needed.