[layouts] Use IllegalArgumentException for column/row validation
[layouts] Fix default column/row handling from attributes

Fixes #76