Prism cython functions grouped in single kernel

Made two Cython functions for gravity and magnetic kernels. They choose
which to calculate in at run-time. This avoids repeating the code
everywhere. These kernels compute the effect of a single prism. The
functions that loop over prisms and call kernels are moved to
gravmag.prism. This way the autodoc is able to find them and render the
docs properly.

Benchmarks show that there is practically no performance penalty in the
ifs inside the integration loops.

Still need to move the new bx, by, ..., kernelxx, ..., functions to this
new format.