move bubble size calculations to layout and cache them.
calculate correct bubble widths, ref: #172
refactoring
tweak layout. update demo content