First pass at hosting IECore::Objects natively in Houdini.

Added GEO and GU implementations. Still several things missing, including ability to create them, viewport rendering, and JSON translation.
Added JSON support for GEO_CortexPrimitives.

CortexPrimitives may now be saved/loaded to hip, bgeo, and geo files.
Added utility method to set a single string for all elements in the given range
Added option to load IECore::Objects as GEO_CortexPrimitives.

Also promoted AttributeFilter to all SceneCache nodes, which allows the parameter values to be set recursively during expansion.
HoudiniScene supports GEO_CortexPrimitives.

Ideally this would be handled by the converter factory function, but that will require some significant changes, so just handling it in readObject for now, which solves the problem for ROPs at least.
SOP_SceneCacheSource now correctly erases filtered prim vars during modify.

This saves both time for prim var tranformation and memory when using the Cortex GeometryType.
Added convenience functions to convert Houdini double matrices to Imath float matrices, as well as UT_Color to Imath::Color4f (and vice versa)
Added viewport drawing for IECore::Renderables held on GU_CortexPrimitives.

Solid, wireframe, hidden line, ghost line, and bounding box modes supported. Attrib decorations and inspector details are not implemented.

This commit added a dependency to libHoudiniAPP3.
Merge pull request #67 from andrewkaufman/houdiniPrimitives

Native Houdini Primitives