begin refactoring process
Now that I know more clearly what to expect from QFG3/4, I want to smooth out some of the warts before attempting to add QFG4 support
This includes moving many functions out of CharGeneric and into CharV1, then letting CharGeneric decide if it should send to CharV1 or CharV2