Handle hex values for atom and residue numbers

It works as follows.  It first tries to parse all values as decimal.  If it fails on a value, it then tries to parse it as hex.  If that succeeds, it sets a flag indicating that all further values should be parsed as hex.

This correctly interprets the values outputted by VMD, which is different from hybrid-36.  Files using the latter will still load without problem, but there will be a gap in the atom IDs where it jumps from 99999 to A0000 (655360).