Added preferredContentSize support (see issue #26)