message: Tweak shader model error message.
  The error message could say "need 0x2 but contains 0x2" which is still
  confusing. Now that we're printing the actual required shader model
  in English, we can simply say:
  The material 'foobar' was not built for desktop.
  Compiled material contains shader models 0x2.
diff: @@ -95,9 +95,8 @@ Material* Material::Builder::build(Engine& engine) {
  case driver::ShaderModel::GL_CORE_41: slog.e << "desktop.\n"; break;
  case driver::ShaderModel::UNKNOWN: /* should never happen */ break;
  }
  - slog.e << "Need shader model 0x" << io::hex << (uint32_t) shaderModel
  - << " but compiled material contains 0x" << shaderModels.getValue()
  - << io::dec << io::endl;
  + slog.e << "Compiled material contains shader models 0x"
  + << io::hex << shaderModels.getValue() << io::dec << "." << io::endl;
  return nullptr;
  }
  