Modify crossover probability to pointer

Similar to mutation probability, crossover probability was changed to a
pointer instead of value based to allow run time probability change.