Thallo : a domain specific language for non-linear least squares optimization in visual computing