cogl: add Mir EGL platform
mir: add support for foreign display
mir: add support for foreign surfaces
mir: set last state after initializing the surface
mir: update the framebuffer size on resize events

We need to use a mutex as mir handles these on
different threads, also using an event idle prevents
to get initialization errors on cogl side.
mir: add support for Mir Outputs
mir: use standard c types
mir: improve error logging
mir: release a connection on error
mir: return whether a foreign connection has been set or not
mir: only allow to set foreign surfaces with hardware buffer

And return a CoglBool accordingly.
cogl.h: include mir renderer if the platform is supported
mir: add public method to resize a cogl onscreen

This will internally recreate a new surface with proper parameters
mir: release surfaces on errors