Refactored the Diet template compiler.
Refactored the Diet template compiler.

Building of the final D code is now abstracted in OutputContext so that changes can be made centrally and the rest of the code is more readable (e.g. no double escaped string literals).

Also string concatenations in the generated code are avoided now to safe on memory allocations. There are still some calls to _toString and htmlEscape that need to be eliminated so that there are no allocations left.

AndreyMZ/vibe.d,etcimon/vibe.0,etcimon/vibe.d,rejectedsoftware/vibe.d,Geod24/vibe.d,redstar/vibe.d,Yoplitein/vibe.d,nathanchristenson/vibe.d,schuetzm/vibe.d,mfrischknecht/vibe.d,dkillebrew/vibe.d,1100110/vibe.d,nathanchristenson/vibe.d,etcimon/vibe.0,sigod/vibe.d,sigod/vibe.d,alphaKAI/vibe.d,sigod/vibe.d,Yoplitein/vibe.d,machindertechnologies/vibe.d,gedaiu/vibe.d,fast4shoot/vibe.d,Kozzi11/vibe.d,DBankov/vibe.d,alphaKAI/vibe.d,nathanchristenson/vibe.d,etcimon/vibe.d,ColdenCullen/vibe.d,veelo/vibe.d,alphaKAI/vibe.d,chalucha/vibe.d,jkm/vibe.d,jkm/vibe.d,Mihail-K/vibe.d,Yoplitein/vibe.d,yannick/vibe.d