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.
Ok, let's do that this way for now, and review after we have some benchmarks.