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.
Including new tests to check Lazy Templates
Just to remove some jshint complains