possible moves in either order both within a cached subset and when
building cached subsets. Still a bit buggy (shows the same move twice
when moving backwards and reaches the top-scoring move) and not well
tested.
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.