(not ready) clustered bars

Place any comments/suggestions here.

This is somewhat related to #789. I will probably incorporate more changes from that PR as API gets finalized. 

This will close #760.
why pass index 1 into `widthF` not index 0?