Empty Regions

As for today, when layout is parsing recursively through rows and columns it doesn't mind printing markup for regions that don't have content. This pull request changes that by recursively identifying empty regions (row/columns). It also introduces a region attribute called ```alwaysVisible``` that when set to ```true``` will cause a region wrapper to be output even when it has no content; mostly useful in cases when the extra markup is required for styling purposes.

> This pull request relies on the code introduced by the #133 pull-request, so it should only be merged if the other one has already being merged.
In fact there is no improvement here. I probably wrote this while writing all the rest, and didn't give much of attention. The usage of ```typeof````is common to avoid old browsers breaking when validating a undefined variable, but for sure this is not the case with Node. I'll port it back to what it was.