Making lazy templates implementation more elegant

Instead of define `fn.solve`, now it's necessary to define a method
`toString` int the template class and a function property called
`lazySource`.
Documentation included.