Fixed bugs in interpretation of "color" attribute in IECoreGL.

The "color" attribute was being used incorrectly in two ways :

- It was affecting the wireframe colour, whereas the two should be independent
- It was affecting the solid colour when it should have been overridden by a shader Cs value

This is fixed by having the Primitive rendering code transfer the color attribute value from the state into the shader Cs parameter if and only if an override hasn't been applied as a shader parameter or primitive variable. This also removes reliance on the deprecated gl_Color shader global, which is nice.
FromHoudiniGeometryConverter now creates Objects.

We need to use objects rather than VisibleRenderables, because GU_CortexPrimitives allow any IECore::Object to exist in a GU_Detail. Renamed doPrimitiveConversion to doDetailConversion for clarity.
ToHoudiniGeometryConverter now converts from Objects.

We need to use objects rather than VisibleRenderables, because GU_CortexPrimitives allow any IECore::Object to exist in a GU_Detail.
Added FromHoudiniCortexObjectConverter for converting single GU_CortexPrimitives
Added ToHoudiniCortexObjectConverter for creating GU_CortexPrimitives.

Objects with more specialized converters (i.e. MeshPrimitive) will not get this converter through the factory function. If users would prefer this sort of conversion for such objects, they must instantiate one manually.
ToHoudiniGeometryConverter now increments meta cache count.

Apparently there is a function called incrementMetaCacheCount(), and if you don't call it when you modify a GU_Detail, then future calls to read string values may be incorrect...

This fixes the only failing test from the last commit.
Adding FromHoudiniCompoundObjectConverter.

This converts multiple GU_CortexPrimitives, maintaining the naming by storing each one in a CompoundObject.
Adding ToHoudiniCompoundObjectConverter

This converts the members of a CompoundObject (rather than the CompoundObject itself) using the ToHoudiniCortexObjectConverter under the hood.
Allowing non-const access to the held Object.
Using ToHoudiniCortexObjectConverter in SceneCache SOP

Removing holdObject and using convertObject for both cases.
Avoiding unnecessary Object copy in SceneCache SOP

The object is read as const, transformObject copies it only when required, and convertObject just deals with the const case. Removed modifyObject entirely as its work is taken care of by the converters now.
Removed HoudiniScene::readObject hack for CortexObject prims

Just letting the converters do the work now.
Updating cob/pdc IO for Object conversion.

This allows the standard File SOP to load cobs that aren't VisibleRenderable.
Added "ri:textureCoordinates" attribute to IECoreRI::Renderer.

This maps to a call to RiTextureCoordinates.
Merge pull request #102 from johnhaddon/glColorAttribute

Fixed bugs in interpretation of "color" attribute in IECoreGL.
Merge pull request #109 from johnhaddon/riTextureCoordinates

Added "ri:textureCoordinates" attribute to IECoreRI::Renderer.
Fixing factory function to search base classes in the correct order
Updating doc comments for the new converters.
fixed typo
Merge pull request #108 from andrewkaufman/houdiniObjectConverters

Houdini Object Converters