Implement fluent interface for LayoutData

Implement Fluent Interface pattern (http://en.wikipedia.org/wiki/Fluent_interface) for setting the LayoutData properties.

This simplifies specifying the layout properties for a given component. Furthermore it avoids render-time exceptions when an inappropriate LayoutData type has been assigned to the child component. 

**Before:** 
```java
RowLayoutData iconLabelLayoutData = new RowLayoutData();
iconLabelLayoutData.setWidth(new Extent(100));
iconLabelLayoutData.setBackground(Color.RED);
iconLabel.setLayoutData(iconLabelLayoutData);
row1.add(iconLabel);
```
**After:**
```java
row1.add(iconLabel).setWidth(new Extent(100)).setBackground(Color.RED);
```