build DFA minimizer

DFA minimizer would still help ultimately...some examples hit
recursive max and then generate like 100 states that all just test the
same 2 predicates; at least the accept states are merged now for pred
targets.