core: initial Zobrist hashing implementation (slow, uncached)