Let compositors implement their own code to close the shell

Compositors can now close the shell, the method will automatically be invoked
by the destructor.
Improve graphics information report

Use qDebug() so that the messages will be logged just like others and print
OpenGL information even if no EGL display can be retrieved from the native
interface.
Improve log output

Suppress debugging information for the debug output and use colors for
warning, critical and fatal messages.
Suppress "shell:" prefix for shell messages

The shell will have its own custom message handler which will print more
information that will help us understand where the message come from.