Removed compile-time allocation because the run-time option
is just as efficient.  Also, the UI is now basically unchanged,
except that fill is provided by a const ITEM*.  This is a bit
clumsy, but simplifies the code.