Implement vague timeouts for rendering inside blocks

Second try on #196 

No thread overhead this time, for the cost of inprecise timings.

Not sure if block.render_all() is the right place, but it seems like it's super()ed by all important tags.

Benchmark before:
```
Rehearsal ------------------------------------------------
parse:         6.850000   0.050000   6.900000 (  6.924468)
parse & run:  15.160000   0.040000  15.200000 ( 15.203618)
-------------------------------------- total: 22.100000sec

                   user     system      total        real
parse:         6.670000   0.030000   6.700000 (  6.705290)
parse & run:  15.250000   0.040000  15.290000 ( 15.296072)
```

Benchmark (after, with deadline set in the future):
```
Rehearsal ------------------------------------------------
parse:         6.490000   0.040000   6.530000 (  6.526048)
parse & run:  16.990000   0.060000  17.050000 ( 17.068522)
-------------------------------------- total: 23.580000sec

                   user     system      total        real
parse:         6.560000   0.020000   6.580000 (  6.580291)
parse & run:  16.100000   0.050000  16.150000 ( 16.163865)
```

Please review @burke @boourns