Fix: correctly parse hex values in stringtools.c::ToNumber()