First draft of caching
Only keep full template caching
Remove require
Allow to use string or symbol as cache key
Use block to create dynamic cache keys. Do not use #=== since Proc
overrides it
Do not cache response if caching is not enabled