Pass regions as arguments

Hey Chris,

Please consider this PR more carefully. It allows usage like 

```
{{#Layout template='layout' footer='footer'}}
```

As we discussed.

I would have just pushed this to devel but for one slightly controversial change -- see 812320c. Let me know if it's not clear why I had to do this, but I think it's a reasonable thing to do. All the IR + BL tests are passing and Verso seems to be working with this codebase, so I'm pretty happy with it.

Cheers