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.
Although *async* does not help if recursiveness (or am I wrong?), indeed it could be used in the children iteration and would in fact improve performance for a bit. Anyway, I don't think there would be any issue on performance because of this loop, as it is really not probable to have a deep layout structure and as the ```forEach``` code is run natively and inside that resides a quite simple validation. I would run some tests, though, but I'm sure they would result in nothing to worry about.

It is good to note that the "heavy part" is only runned when receiving actual layout & panels data on payload - which as I've tested does not correspond to many request situations.