support Slovak which has 40. This change is preliminary: it seems to
work for both existing and dicts with >32 chars, but it breaks backwards
compatibility: existing saved games will crash this code. I think the
fix is to deduce the number of bits per tile from the number in the
dictionary being used, but that's not in yet.
the tray should be used in hints. Moved responsibility here from
platform because platform doesn't know when a turn ends, and end of a
turn (engine reset) is the right place to reset the values.
constrain the search for moves to those that involve filling only
tiles within the rect -- while still using the rest of the board as
context for the moves. Robot moves use the whole board.