Profile dispcharges

I merged master into the branch because there have been small changes to sphere.py since you branched. I think it should be fine to merge it in here, we can always rebase when we merge back into master. To see changes to compare.py take a look at the last commit.