Using GCD and purer Swift

This one should perform better than the previous PR although not necessarily as well as the original.

Release build on iPad Retina Mini gets these sorts of timing numbers
 R RENDER:0.0288
S  SOLVER:0.0642

I'm @jl_hfl on Twitter