A reference implementation how to use weston-layout APIs in order to manage
layout of surfaces/layers. Layout change is triggered by ivi-hmi-controller
protocol, ivi-hmi-controller.xml. A reference how to use the protocol, see
hmi-controller-homescreen.

In-Vehicle Infotainment system usually manage properties of surfaces/layers
by only a central component which decide where surfaces/layers shall be. This
reference show examples to implement the central component as a module of
weston.

Default Scene graph of UI is defined in hmi_controller_create. It consists of
- In the bottom, a base layer to group surfaces of background, panel,
  and buttons
- Next, a application layer to show application surfaces.
- Workspace background layer to show a surface of background image.
- Workspace layer to show launcher to launch application with icons. Paths to
  binary and icon are defined in weston.ini. The width of this layer is longer
  than the size of screen because a workspace has several pages and is
  controlled by motion of input.

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
A reference implementation how to use ivi-hmi-controller interface to interact with hmi-controller. This is launched from hmi-controller by using hmi_client_start and create a pthread.

The basic flow is as followed,
1/ create pthread
2/ read configuration from weston.ini.
3/ draw png file to surface according to configuration of weston.ini
4/ set up UI by using ivi-hmi-controller protocol
5/ Enter event loop
6/ If a surface receives touch/pointer event, followings are invoked according
   to type of event and surface
6-1/ If a surface to launch ivi_application receive touch up, it execs
     ivi-application configured in weston.ini.
6-2/ If a surface to switch layout mode receive touch up, it sends a request,
     ivi_hmi_controller_switch_mode, to hmi-controller.
6-3/ If a surface to show workspace having launchers, it sends a request,
     ivi_hmi_controller_home, to hmi-controller.
6-4/ If touch down events happens in workspace,
     ivi_hmi_controller_workspace_control is sent to slide workspace.
     When control finished, event: ivi_hmi_controller_workspace_end_control
     is received.

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Modify ivi-shell/Makefile to build references;ivi-hmi-controller
protocol and hmi-controller/hmi-controller-homescreen

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Add refernce image files for ivi-hmi-controller

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Update data/Makefile.am to support reference image files for ivi-hmi-conroller.

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Add a reference of weston.ini for ivi-shell and ivi-hmi-conroller.

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Modify example clients to support ivi-application.xml

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>