Redesign the template cache system #143

The new cache system need to:
1. load resource content only if need it
2. reload resource content if a change is detected
3. make easy to plug any other cache implementation (like guava)