OpenGL polygon shading fix

This fixes the shading of polygons without an "N" primvar in IECoreGL, by computing a uniform "N" during conversion. It also adds support for general uniform primitive variables on GL meshes, which was lacking before.

Note the comment in 1f713b2, where I discuss removing the now quite redundant facevarying conversions in MeshPrimitive.cpp - I'd be more than happy to remove them and simplify the constructor now they're being done in the converter.