Keep alphabet attribute unmodified, bring back chars for working set

The alphabet is supposed to be user-supplied (even if with a default,)
so don't change it; instead, keep the working set of characters into a
separate internal attribute (which can be treated as a proper array.)