Elevation and focal ops spark

Is ready for merge. Can't seem to shake large task warning, might be worth looking into later.
I was trying to remove the duplication of the declarations, so we don't have both "def hillshade(<args)" and "def hillshade" but I fixed it now. I think it's nicer to have both now, ugly with paranthesises.