Bug 157174 [Viewers] Refactor new Viewer API
We are yet not completely happy with the API and refactor it.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/DecoratingLabelProvider.java
* The <code>DecoratingLabelProvider</code> implementation of this
	 * <code>ILabelProvider</code> method returns the text label provided by
	 * the nested label provider's <code>getText</code> method, decorated with
	 * the decoration provided by the label decorator's
	 * <code>decorateText</code> method.
	 */
	public String getText(Object element) {
		String text = getLabelProvider().getText(element);
		if (decorator != null) {
			if (decorator instanceof LabelDecorator) {
				LabelDecorator ld2 = (LabelDecorator) decorator;
				String decorated = ld2.decorateText(text, element,
						getDecorationContext());
				if (decorated != null) {
					return decorated;
				}
			} else {
				String decorated = decorator.decorateText(text, element);
				if (decorated != null) {
					return decorated;
				}
			}
		}
		return text;
	}
	/**
	 * The <code>DecoratingLabelProvider</code> implementation of this
	 * <code>IBaseLabelProvider</code> method returns <code>true</code> if
	 * the corresponding method on the nested label provider returns
	 * <code>true</code> or if the corresponding method on the decorator