Sorry for the trouble - I have found a way:
data = Table[fTorusRand[5, 0.5], {i, 1, 100000}]; empD1 = SmoothKernelDistribution[data]; ContourPlot[PDF[empD1, {x, y}], {x, -8, 8}, {y, -8, 8}] Gives me what I want:
Edit: So using the Jacobian here, I can get an exact PDF. Still messing around with the algebra though: $x = (r+d) sin(\theta)$$x = (r+d) \sin(\theta)$ and $y = (r+d) cos(\theta)$$y = (r+d) \cos(\theta)$. So I can implicitly differentiate these to find the Jacobians...
