Use semicolon as a directory delimiter on Windows

Windows path names have ':' inside as a drive letter separator. The
widespread convention on that platform is to use ';' as a list separator
in file paths, so let's follow suite.

It looks like this multi-value searchdir is only used in `ly_ctx_new()`,
and that all other functions operate on one directory at a time.
diff --git a/tests/utests/basic/test_context.c b/tests/utests/basic/test_context.c
index 9ec9203..f542bc2 100644
--- a/tests/utests/basic/test_context.c
+++ b/tests/utests/basic/test_context.c
@@ -104,7 +104,9 @@
     /* test searchdir list in ly_ctx_new() */
     assert_int_equal(LY_EINVAL, ly_ctx_new("/nonexistingfile", 0, &UTEST_LYCTX));
     CHECK_LOG("Unable to use search directory \"/nonexistingfile\" (No such file or directory).", NULL);
-    assert_int_equal(LY_SUCCESS, ly_ctx_new(TESTS_SRC ":"TESTS_BIN ":"TESTS_BIN ":"TESTS_SRC, LY_CTX_DISABLE_SEARCHDIRS, &UTEST_LYCTX));
+    assert_int_equal(LY_SUCCESS,
+            ly_ctx_new(TESTS_SRC PATH_SEPARATOR TESTS_BIN PATH_SEPARATOR TESTS_BIN PATH_SEPARATOR TESTS_SRC,
+            LY_CTX_DISABLE_SEARCHDIRS, &UTEST_LYCTX));
     assert_int_equal(2, UTEST_LYCTX->search_paths.count);
     assert_string_equal(TESTS_SRC, UTEST_LYCTX->search_paths.objs[0]);
     assert_string_equal(TESTS_BIN, UTEST_LYCTX->search_paths.objs[1]);