Various tweaks to make go-xslate faster

* Introduce a ByteCode optimizer
* Save the result of os.Stat() for 1 second
* Use bufio where applicable
* Cache both ByteCode and TemplateSource
* Don't stat directories when we don't need to