Separate kernel functions from tensor components to use for the magnetic field vector

Implements the gravity tensor components as kernel functions for prism, sphere and polygonal prism. These can be used to calculate the magnetic field vector and total field anomaly. 

Checklist:

- [ ] Cookbook recipes for new functions (if intended for user, not developer)
- [ ] Docstrings
- [ ] Doctests and unitests
- [ ] All tests pass
- [ ] Can be merged
- [ ] Changelog entry
- [ ] Benchmark against old implementation