better handling xml parse errors
api to set log function
library no longer uses stdio
report error when accessing invalid variant value
c++11 fixes