Made GraceBooleans into flyweights in the library,
to avoid repeated allocation.  However, the code generator still
allocates a new boolean every time "trur" or "false" is mentioned in the
source.  This seems to be necessary because of the way that patern objects
mutate their superobjects.