WIP: perf(ngInclude): cache linkFns for each template

This is probably not the best way to do this but here is a working Proof of Concept.

See http://www.bennadel.com/blog/2738-using-ngrepeat-with-nginclude-hurts-performance-in-angularjs.htm
We would probably want to use the cache for the SVG code path too.