emulator: Move qemu-props to core service

The qemu-props program is launched at boot to read a series of
system property assignments from the emulator and apply them.

This is necessary to deal with the dynamic nature of the emulated
platform (e.g. the screen density which depends on the skin and
cannot be hard-coded in the platform image).

This patch ensures that qemu-props is started before any other
service that may read one of these properties (e.g. surface flinger).
This is done by encapsulating the program into a 'core' service.
Core services are all stared before regular ones.

Before the patch, qemu-props was started manually inside a script
that is called from a late emulator-specific boot service
(goldfish-setup).

The problem was that sometimes qemu-props was run too late.
This resulted in random flakiness, especially when running
on a low-end host machine.

Fix for bug 2161189 (and probably a few others)

Change-Id: I2933a25dcb5fecbb1fc238f157264e621b8f295b
2 files changed