reorg char-based number parsing a bit
complete rewriting of number parsing for char-based sources as well