Add support for displaying QOpenGLShader::ShaderType.
Add templated convenience wrappers for displayString/enumToString.

These have the added benefit of detecting unwanted implicit conversions,
such as from enums to ints.
Add a real model for the shader list in the SG material extension.

This gives us a lot more flexibility what to show there, and puts this
code in line with everything else.