Adding layout to painters.
Painters can now layout their children and optionally specify a size for
themselves. No more hardcoding offsets!