This is copy/paste from PnlMultiPaned. The feature we want from it is the ability to resize paned halves based on their natural sizing up until the user has manually changed the paned handle position.