[DRIVERS] Add the i.MX IPUv3 support with framebuffer.

This patch adds the driver for the i.MX IPUv3 controller, with the framebuffer
support.
For now, displaying rectangles is working.
[ARM] Adding the i.MX6Q LDB, the IPU and the FB devices in the device tree.
[ARM] Saving current Nitrogen6X Xvisor default configuration.

This add a configuration file that allow using the Nitrogen6X with up-to-date
drivers.
[ARM] i.MX Nitrogen6X framebuffer 0 set for the 10.1" 1024x768 Hannstar LVDS.

The Nitrogen6X framebuffer 0 is set for 1024x768 with RGB565, to be compatible
with the 10.1" 1024×768 Hannstar LVDS.
[COMMANDS] Add blank, fillrect and a built-in logo framebuffer commands.

The following commands have been added for the framebuffer:
  - blank <fb_name> <value>
    . fb_name: The name of the framebuffer
    . value:   The integer value corresponding to the requested blanking state
               (FB_BLANK_POWERDOWN, FB_BLANK_VSYNC_SUSPEND,
                FB_BLANK_HSYNC_SUSPEND, FB_BLANK_NORMAL, FB_BLANK_UNBLANK).

  - fillrect <fb_name> <x> <y> <w> <h> <c> [<rop>]
    . fb_name: The name of the framebuffer
    . x:       The rectangle horizontal position.
    . y:       The rectangle vertical position.
    . w:       The rectangle width.
    . h:       The rectangle height.
    . rop:     The fill operation type (optional).

  - logo <fb_name> <x> <y> <w> <h>\n");
    . fb_name: The name of the framebuffer
    . x:       The logo horizontal position.
    . y:       The logo vertical position.
    . w:       The logo width.
    . h:       The logo height.

The added built-in logo is the one of the IRT SystemX.
[ARM] Add a boot command on the i.MX6 to display the logo.

At boot, we now display the chosen logo in the center of the LVDS screen.
[DRIVERS] Correcting menu dependencies between PWM and backlight.
[DRIVERS] Removing i.MX FB unnecessary deallocation.
[DAEMONS] Add a monitor daemon, with compatibility with framebuffers.

This patch adds a monitor daemon which periodically writes CPU, RAM and VCPU
information on a character device.
A new IOCTL has been defined for periodically erase the character device.
IOCTL definition macros have been added.
[DRIVERS] i.MX IPU, framebuffer and pixel clock debugging removed.
[DRIVERS] SDHCI Present State checking corrected.
[DRIVERS] SDHCI DMA operation enabled back (temporary hack).
[DRIVERS] The i.MX uSDHC controller use physical address for its DMA.
[DRIVERS] Correcting the i.MX uSDHC driver on bus width management.

The original i.MX uSDHC driver expected the "esdhc_pltfm_bus_width" function to
be called, managing the bus width in the host controller register.
Since this function is called by the "platform_bus_width" operation, removed in
Xvisor, this must be done the usual way, hence when writing this register.
[DRIVERS] Temporary MMC hack to do only single block read operations.

As the i.MX uSDHCI driver does not work with multi block operations yet, the
single operation is forced for now.
[DRIVERS] SDHCI pio operations must not be done when using DMA.

It seems that even with DMA activated, the SDHCI driver still does a controller
buffer reading, sometimes leading to a read data buffer overwritting.
[COMMANDS] Add a blockdev read command.

This patch adds a read command for block devices, allowing to read data from
it.
Arguments:
- the device name (mandatory)
- the amount of data in bytes to read. If not specified, it will take the
  device default block size.
- the offset in bytes.
[LIBS] Add a simple image loader for framebuffer splash screen.

This patch adds a simple image loader, managing only the P6 ppm format with
less that 256 colors, allowing framebuffer splash screen.
[COMMANDS] Adding the "fb image" command, to display an image on a framebuffer.

This "fb image" command takes the following argument:
- the framebuffer to display the image on
- the image path
- the "x", the horizontal offset on the screen
- the "y", the vertical offset on the screen