Don't call xmlXPathInit directly

Call xmlInitParser which uses a lock to avoid race conditions.

Fixes #184.
diff --git a/xpath.c b/xpath.c
index 2850a1a..311997f 100644
--- a/xpath.c
+++ b/xpath.c
@@ -14234,7 +14234,7 @@
         return(comp);
 #endif
 
-    xmlXPathInit();
+    xmlInitParser();
 
     pctxt = xmlXPathNewParserContext(str, ctxt);
     if (pctxt == NULL)
@@ -14323,7 +14323,7 @@
 
     if (comp == NULL)
 	return(-1);
-    xmlXPathInit();
+    xmlInitParser();
 
 #ifndef LIBXML_THREAD_ENABLED
     reentance++;
@@ -14468,7 +14468,7 @@
 
     CHECK_CTXT(ctx)
 
-    xmlXPathInit();
+    xmlInitParser();
 
     ctxt = xmlXPathNewParserContext(str, ctx);
     if (ctxt == NULL)
diff --git a/xpointer.c b/xpointer.c
index 39f4ac7..53def72 100644
--- a/xpointer.c
+++ b/xpointer.c
@@ -1352,7 +1352,7 @@
     xmlXPathObjectPtr init = NULL;
     int stack = 0;
 
-    xmlXPathInit();
+    xmlInitParser();
 
     if ((ctx == NULL) || (str == NULL))
 	return(NULL);