implement TT properly (without the hash-table indirection)
move TT and killers code into separate files, use TT as moves cache for minimax, keep TT and killers with the agent