Separated out the board from the decision logic, because gonna try to make some smarter decisions about which moves to make instead of brute forcing. Also tried to make improvements to the efficiency of detecting available moves (now doesn't scan whole board every time, but rather scan the locations changed by the move made.