Speed improvements to `gravmag.tesseroid`

Moved some things over to Cython, precomputing sines and cossines, and using buffers to avoid malloc in loops.
Before, speed was good far from the tesseroids. Now speed is comparable to [Tesseroids](http://leouieda.github.io/tesseroids/) (C) even at 100km height.

For now, at 50km things get much slower (~2x slower). Bottlenecks are:
1. LIFO appending
2. Calculating distances
3. Separating in which points to split