Routes and local values
Not sure whether this is Jester problem or Nim problem...
Compilation fails if routes macro is used inside a function, and a value, local to this function (or an argument), is used in one of the branches.
Source:

``` nim
import jester, asyncdispatch

proc startServer() =
  let state = 1
  routes:
    get "/":
      echo state
      resp "OK"
```

results in this:

```
CC: test_jester
CC: stdlib_system
CC: jester_jester
CC: stdlib_asynchttpserver
Error: execution of an external compiler program 'gcc -c  -w  -I/home/dmitry/work/nim/lib -o /home/dmitry/work/tmp/nimcache/test_jester.o /home/dmitry/work/tmp/nimcache/test_jester.c' failed with exit code: 256

/home/dmitry/work/tmp/nimcache/test_jester.c: In function ‘startserver_240001’:
/home/dmitry/work/tmp/nimcache/test_jester.c:1066:2: error: incompatible type for argument 1 of ‘serve_238873’
  serve_238873(LOC3, settings);
  ^
In file included from /home/dmitry/work/tmp/nimcache/test_jester.c:9:0:
/home/dmitry/work/tmp/nimcache/test_jester.c:399:17: note: expected ‘TY238875’ but argument is of type ‘TY240205’
 N_NIMCALL(void, serve_238873)(TY238875 match, SettingsHEX3Aobjecttype237032* settings);
                 ^
/home/dmitry/work/nim/lib/nimbase.h:215:44: note: in definition of macro ‘N_NIMCALL’
 #  define N_NIMCALL(rettype, name) rettype name /* no modifier */
```

Using devel Nim version, Ubuntu, gcc 4.8.5
