usb: fix support for HID keyboard

This fixes issues with several HID keyboards by implementing
get_unaligned_le16(), which obviously may also fix other not-yet-known
issues. Hint: I had to look out for suspicious lines like follows in the
verbose log.

  [init -> usb_drv] get_unaligned_le16 called, not implemented

Also, quirks for cherry keyboards are now applied.
cli_monitor: Support dynamically linked binaries
terminal: Add escape handling for CUB

This VT102 command is triggered by busybox when pressing the 'pos1' key.
terminal_mux: Clear terminal when activating menu

This patch clears the terminal each time the menu appears and thereby
wipes away artifacts that might occur when combining terminal_mux with
kdb_uart_drv and the kernel prints messages directly.
Add missing route to timer
sd_card: Support multiple DMA descriptors
New 'l4linux_dynamic.run' script

This run script allows the user to dynamically start and stop L4Linux
instances using a command-line interface over a serial line.
base-foc: introduce state in platform thread

When destroying a thread, which was not bound to a protection domain via kernel
primitives beforehand, it is critical to change the pager and exregs the thread
in the destruction process. Therefore, this commit introduces two thread states:
DEAD and RUNNING. On the basis of the thread state, we can decide whether to
reset the thread before destroying it, or not.
l4lx: avoid creation of redundant thread for vcpus

This commit simplifies the creation of additional threads and VCPUs in L4linux.
By now, some Genode::Thread_base methods where overridden to use a Fiasco.OC
specific Cpu_session when creating threads.
Recent commit: 297538678e06fe091fe6c3370d38c54d33627109 moved the actual creation
of the platform thread into the constructor of the generic Thread_base class.
Thereby the Vcpu class, which extended the Thread_base class, now unnecessarily
created two platform threads for each thread created via Vcpu. Nowadays, the
cpu_session capability is available via the Genode::env() environment. So we can
use the Thread_base parent class for the setup of the platform thread, and
afterwards create a Fiasco.OC specific cpu session client with the same cpu
session capability, Thread_base used for creation, to make use of the L4Linux
specific features of this interface (VCPU enabling, irq object creation etc.).
jdb_bt_arm.diff
foc_jdb_js.diff
l4linux_kill.diff
l4linux_kill_debug.diff