[mypyc] Fix bytes join on Python 3.13

`_PyBytes_Join` is no longer available.

Work on mypyc/mypyc#1056.
diff --git a/mypyc/lib-rt/bytes_ops.c b/mypyc/lib-rt/bytes_ops.c
index 4da62be..8d82b1a 100644
--- a/mypyc/lib-rt/bytes_ops.c
+++ b/mypyc/lib-rt/bytes_ops.c
@@ -95,15 +95,26 @@
     return CPyObject_GetSlice(obj, start, end);
 }
 
-// Like _PyBytes_Join but fallback to dynamic call if 'sep' is not bytes
-// (mostly commonly, for bytearrays)
 PyObject *CPyBytes_Join(PyObject *sep, PyObject *iter) {
+#if CPY_3_13_FEATURES
+    PyObject *args[2] = {sep, iter};
+    _Py_IDENTIFIER(join);
+    PyObject *method = _PyUnicode_FromId(&PyId_join); /* borrowed */
+    if (method == NULL) {
+        return NULL;
+    }
+    PyObject *res = PyObject_VectorcallMethod(
+        method, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
+    return res;
+#else
+    // Fallback to dynamic call if 'sep' is not bytes (most commonly, for bytearrays)
     if (PyBytes_CheckExact(sep)) {
         return _PyBytes_Join(sep, iter);
     } else {
         _Py_IDENTIFIER(join);
         return _PyObject_CallMethodIdOneArg(sep, &PyId_join, iter);
     }
+#endif
 }
 
 PyObject *CPyBytes_Build(Py_ssize_t len, ...) {