Separate parsing and compilation, which allows to pass over declarations in the template.
This commit lays out the groundwork for 0.4.