25% speed boost by delaying move legality check
Another speed bump by making move generator return positions rather than moves
Simplification