More cleanups for input/buffers code

When calling xmlParserInputBufferPush, the buffer may be reallocated
and at the input level the pointers for base, cur and end need to
be reevaluated.
* buf.c buf.h: add two new functions, one to get the base from the
  input of the buffer, and another one to reset the pointers based
  on the cur and base inded
* HTMLparser.c parser.c: cleanup to use the new helper functions
  as well as making sure size_t is used for the indexes computations
diff --git a/buf.h b/buf.h
index da97e86..d103746 100644
--- a/buf.h
+++ b/buf.h
@@ -58,6 +58,9 @@
 int xmlBufMergeBuffer(xmlBufPtr buf, xmlBufferPtr buffer);
 
 int xmlBufResetInput(xmlBufPtr buf, xmlParserInputPtr input);
+size_t xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input);
+int xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input,
+                          size_t base, size_t cur);
 #ifdef __cplusplus
 }
 #endif