Template variables can now execute functions and methods

Before:
```django
<p>Hi, this is {{ user.fullName() }}</p>
```

Would return nothing, even though `fullName()` is a real function. This PR fixes it.

Function call executes in the scope of the variable, which means that in this example, if `fullName()` uses`this`, it refers to `user`.

Refs #174, #151, #145, #140, #100, #90, #89