Bug 89971 [Viewers] Viewers that use IViewerLabelProvider do too many instanceof checks
M6 Checking our viewer the calls to buildLabel are doing too many instanceof checks. As a result certain viewers (such as the table viewer) are twice as slow as they were in 3.0 due to these checks. I have written some performance suites to test the Table, Tree, List and Combo viewers. Table and Tree have this issue.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/StructuredViewer.java
* content providers.
		 * @param element Object
		 */
		public void setFontsAndColors(Object element){
			
			if(fontProvider != null){
				if(font == null)
					font = fontProvider.getFont(element);	
			}
			
			if(colorProvider == null)
				return;			
			
			if(background == null)
				background = colorProvider.getBackground(element);
			
			if(foreground == null)
				foreground = colorProvider.getForeground(element);			
		}
		/**
		 * Set that decorators were applied.
		 */
		public void setUsedDecorators() {
			this.usedDecorators = true;
		}
		/**
		 * Apply the fonts and colors to the control if
		 * required.
		 * @param control
		 */