async support

Sorry bit of a reformatting issue in swig.js

Main changes are in Swig.precompile with addition of callback parameter to .render and .compile

Alternative is to not support blocks for {% async %) and instead limit it to calling a locals function e.g. 
```
{% async func(done) %}
```
Either way there is no impact on rest of the system and any generated compiler output can call _asyncCb()