omxil: Split omx core management to a separate file

Normally we try to only load and init the OMX core once, since there
are cases where the OMX core deinit function will deinitialize the
whole core on the first deinit call, even if init has been called
twice.

If this file is to be built as part of multiple shared plugins,
each of the plugins will initialize the OMX core separately, which
could cause issues with such OMX cores.

Since the second plugin that uses this isn't used automatically,
it would only be an issue for those who choose to use it, and
not all OMX cores have this issue (the Broadcom OMX core on
Raspberry Pi seems to work fine).

If we really want to make sure the omx core is loaded and initialized
only once, the plugins need to be loaded with RTLD_GLOBAL and all
the variables in omxil_core.c need to be marked with
__attribute__ ((visibility ("default"))).
omxil: Move the role iteration function to omxil_core.c
omxil: Split event debug printing to a separate function
omxil: Split event queue handling to a separate struct
omxil: Add an omxil_vout module
omxil: Try to load the broadcom OMX IL core

This requires loading a separate host library first.

The host library is not unloaded, since it starts background
threads when initialized, and the deinit function does not stop
the threads. Therefore, this library cannot be unloaded once
loaded and initialized.
omxil: Hardcode known roles for OMX broadcom components
omxil: Change the signalled OMX version to 1.1.2

The broadcom OMX IL core requires this in order to respond to
requests.

This shouldn't probably break other OMX cores, unless they are
picky about it in the same way, requiring version 1.1.1.
omxil: Use larger input buffers to the decoder

The default ones on the raspberry pi aren't large enough for higher
resolution content.
omxil: Switch to the alternative OMX ABI, used on the raspberry pi

This breaks usage of the omxil decoder with any other OMX core - this
cannot easily be switched at runtime since it affects how structs
are laid out.
omxil: Add Broadcom specific OMX headers
omxil: Include broadcom specific indexes in OMX_Index.h
omxil_vout: Add broadcom specific calls