Refactored AI, now given a board when getBestMove() is called.