MCTS:
- Use better random generator maybe from statistics, mersenne-random package or
  Xorshift package.
- Try All-Moves-As-First Heuristica (from Bernd Brugmann. Monte carlo go. Technical report, 1993.)


AlphaBeta:
- Add Quiescence search.
- Add proper History heuristics.

General:
- Parallelize.
- Improve evaluate function!
- Add GoalCheck.
- Try use Vector instead of Lists in basic representations and/or better Array
  library (http://www.haskell.org/haskellwiki/Arrays).
- Better collision handling in Hash library.
- Find faster HashTable library.
- Rewrite BoardToCode using general haskell parser (to improve readability).
- Prevent lost due to third time repetition rule.
