Significant rewrite of the entire class.

- exposed titleLabel, detailLabel, and accessoryView (and removed properties that are now accessible through those exposed views), additional KVO is needed to update the layout when the content changes
- lazy loading off most components, with default values where needed
- complete rewrite of the layout code (improved handling of missing views, better auto-sizing, fixed left-to-right alignment)
- adjusted constants
- removed unused code
- general code cleanup