Use copy instead of for loop
Added some useful move generator APIs
New search
Better pruning
Added one more game to benchmark
Refactored quiescence search to avoid extra parameter
Filter out invalid moves before proceeding with the root search
Late move reductions