Compiled templates

This pull request adds support for passing previously compiled templates to `render()` (as well as strings). This saves compilation time when applying a template multiple times:

```php
$engine= new MustacheEngine();
$template= $engine->compile($template);

// Later on:
$result1= $engine->evaluate($template, $variables1);
$result2= $engine->evaluate($template, $variables2);
```

* * * 
The API is changed to accomplished this:

### Template loader
* The `TemplateLoader` class' `load()` method now returns an `io.streams.InputStream` instead of a string.

### Parser
* The `MustacheParser` class now takes a `text.Tokenizer` instead of the string, and is thus capable of also working with streams. This removes the need to load the entire template into memory *twice* (once as raw bytes and once as node representations)

### Engine
* A new (public) method `string evaluate(Template $t, var $arg)` has been added to `MustacheEngine` and is used by both `render()` and `transform()`.
* There are now two methods for compiling a template, `compile()`, which will work on strings, and `load()`, which will ask the template loading mechanism. Both return a `Template` instance.