Simplify the Renderer contract so that the decision whether a renderer can render an object or not is based on type.

This will allow us to optimise the determination later by caching keyed on on to-render object type.