Explicitly construct a `string_piece` when comparing to `char*`

In C++20, `operator==` candidates include rewritten candidates with reversed operand order, so this function creates infinite recursion just flipping operands back and forth. In C++17, it relies on implicit construction of a `string_piece`.

This is backwards and forwards compatible.
diff --git a/libshaderc_util/include/libshaderc_util/string_piece.h b/libshaderc_util/include/libshaderc_util/string_piece.h
index 89049d9..8d334df 100644
--- a/libshaderc_util/include/libshaderc_util/string_piece.h
+++ b/libshaderc_util/include/libshaderc_util/string_piece.h
@@ -332,7 +332,7 @@
 }
 
 inline bool operator==(const char* first, const string_piece second) {
-  return second == first;
+  return second == string_piece(first);
 }
 
 inline bool operator!=(const char* first, const string_piece second) {