libguess employs discrete-finite automata to deduce the character set of the
input buffer. The advantage of this is that all character sets can be checked in
parallel, and quickly. Right now, libguess passes a byte to each DFA on the same
pass, meaning that the winning character set can be deduced as efficiently as
possible.
libguess is fully reentrant, using only local stack memory for DFA operations.