Improve maximum hash table memory estimation.
Improve maximum hash table memory estimation.

Some browsers don't report navigator.deviceMemory to keep
fingerprintability to a minimum. Currently, lila assumes that
such a machine provides at most 256MB RAM, thus setting a 32MB
max hashtable limit.

This was a reasonable starting point when Stockfish was pure
JavaScript in a single thread, but with up 16 core WASM support
this limitation is a bit more painful.

Modify the memory estimation: if the browser is modern enough to
have full WASM/SharedArrayBuffer support, and thus run the
parallel WASM versions, assume the machine has at least 2GB of
RAM. If it doesn't, assume 512MB. This gives a maximum hashtable
of 256MB and 64MB, respectively.

The assumed minimum RAM values roughly correspond to Firefox's
official system requirements for the 32-bit and 64-bit version.
Although that doesn't necessarily correspond to WASM support,
it's a reasonable starting point for a guess.

Note that guessing wrong isn't harmful, it just gives the user
the option to shoot themselves in the foot, and even that is
limited because we still only use 1/8th of the guessed system RAM.

arex1337/lila,arex1337/lila,arex1337/lila,arex1337/lila,arex1337/lila,arex1337/lila,arex1337/lila