Disabling the GR_RenderHook for Houdini 12.5 or later.
Newer versions of Houdini will use a GUI_PrimitiveHook (not included in the commit).
Fixing test for Houdini 12.5
Temporarily disabling bound test for live scenes.
Houdini 12.5 introduced a bug in the HoudiniScene::readBound calculation. They have implemented a recursive bound calculation for OBJ_SubNets, but are not correctly transforming the child bounds. We have informed them of the error and will re-enable the test if they fix the problem.
Fixed PTCParticleReader build.

When we switched to specifying includes with -isystem in the CXXFLAGS, the configure check for pointcloud.h started failing, and we stopped building PTCParticleReader. This is fixed by using CheckCXXHeader which uses CXXFLAGS rather than CheckHeader, which doesn't.

Adding PTCParticleReader back into the build revealed another problem - it didn't implement the fairly recent pure virtual positionPrimVarName() method and therefore couldn't be instantiated, so this commit also implements that method.
Reduced use of GL matrix stack.

We were experiencing crashes in the Maya SceneShape, because it creates IECoreGL::Scenes with a much higher depth of nesting than is contained in the actual cache itself. This meant we ran off the end of the GL matrix stack with unfortunate consequences. The real long term solution is to stop using the GL stack entirely (it's deprecated) as documented in the comments, but this commit just avoids calling glPushMatrix() when the matrix is identity. Because the SceneShape creates a large number of identity transforms (at least one per cache level as far as I can see), this is quite effective.
Merge pull request #55 from johnhaddon/ptcParticleReaderFix

Fixed PTCParticleReader build.
Merge pull request #54 from andrewkaufman/houdini12.5Compatibility

Houdini 12.5 Compatibility
Merge pull request #56 from johnhaddon/matrixStackConservation

Reduced use of GL matrix stack.
Removed bogus include from Primitive.cpp.
Added typeName argument to registerRunTimeTyped().

This allows typenames prefixed with the module name to be passed, overriding the typename autogenerated from the class name. There could be an argument for just autogenerating names prefixed with the module name, but that has potential knock-on effects to existing code which is relying on the old names. It's also impossible within python to find the fully qualified path to a nested class, so in that case we'd still want the ability to specify a typename explicitly.

Also removed the deprecated baseClass argument, which was documented as being scheduled for removal in Cortex 6.
Merge pull request #57 from johnhaddon/registerRunTimeTyped

Added typeName argument to registerRunTimeTyped().
Adding version suffix to the installed location.

The suffix can be used to specify alpha/beta releases and it's appended to the version with a '-' character if different than empty string.