Pushes more of the allocation/deallocation work to PDL::PP

- Uses zeros(...) rather than reshape to create properly sized inputs
- Switches to PDL::Core approx from custom fapprox
- Remove the version requirement for 5.14

Thanks to run4flat++ for pointing out these inefficiencies.