Bootable GRUB2 disk image with ext2 partition

This provides bootable disk images for x86 platforms via

! RUN_OPT="--target disk"

The resulting disk image contains one ext2 partition with binaries from
the GRUB2 boot loader and the run scenario. The default disk size fits
all binaries, but is configurable via

! --disk-size <size in MiB>

in RUN_OPT.

The feature depends on an grub2-head.img, which is part of the commit,
but may also be generated by executing tool/create_grub2. The script
generates a disk image prepared for one partition, which contains files
for GRUB2. All image preparation steps that need superuser privileges
are conducted by this script.

The final step of writing the entire image to a disk must be executed
later by

  sudo dd if=<image file> of=<device> bs=8M conv=fsync

Fixes #1203.
Start the ACPI driver in Qt5 run scripts if needed

Fixes #1219.
dde_ipxe: add Intel I217-LM PCI ID

Fixes #1220.
Qt launchpad: coding style fixes

Fixes #1221.
Qt launchpad: use XML configuration

With this patch, Qt launchpad entries are configured the same way as with
the Scout launchpad.

Fixes #1222.
Qt5: fix menu problems

- fix sub menu positioning
- disable window decoration for popup menus

Fixes #1226.
fb_drv: fix clipping

Use the clipped coordinates for calculating the buffer addresses, too.

Fixes #1227.
fb_drv: implement 'buffered' mode for OMAP4

Fixes #1228.
Qt5: use double buffering

Fixes #1229.