web: Don't compute the same board twice at the same time
web/values: Add a cache on top of tree search

The previous commit ensures that we don't compute the same value
twice at the same time.  This one ensures we don't compute the same
value in short succession.