Support different subdivision schemes for OsdUtilMesh

Basically title says it all, now it's possible to pass
subdivision scheme to the OsdUtilMesh::Initialize().

It's a last argument with default to CATMARK so it doesn't
break existing code.
Make C-API evaluator aware of different subdivisions

This makes it possible to use use bilinear subdivisions which
corresponds to Blender's simple subdivisions.

Most of the changes doesn't break any existing API because of
using default values. it's only C-API function which now expects
an extra argument.

This doesn't entirely work because it uses adaptive evaluator
which gives some unwanted curvatures when using bilinear scheme.
Merge pull request #332 from Nazg-Gul/dev

Support different subdivision schemes for OsdUtilMesh