A quad face with 2 non-consecutive boundary edges causes the 4 vertices
of this quad to be tagged as boundary. These vertices will cause the
feature adaptive pass to generate sub-faces where appropriate, however
the face itself will not be identified as "non-patch", which causes the
FarPatchTables factory to mis-identify it and fall-back on an assert.

This fix flags these particular quad faces in the first adaptive pass.

The particular shape that caused the crash has also been addded to our
regression suite.

fixes #159
adding a convenience "inst" directory to ignore
More 0th. STL vector accesses checked in FarSubdivisionTables factories.

fixes #155
More 0th. STL vector accesses checked in FarSubdivisionTables factories.

fixes #155
Exposing a previously unused private method that scans an Hbr mesh for
creases and other features and determine the isolation level needed.

Minor improvements:
- we now have a custom "corner" isolation level : with edge-only boundary
  interpolation rules, corner vertices are rounded and would require an
  isolation level of 10. In practice however, 5 appears to be more than
  enough to produce a perfectly rounded shape and is set as a default
  for this value.

- the logic has been made a little more efficient by moving the vertex
  sharpness tags tests to a separate loop so as not to repeat the check
  multiple times for a given vertex

Also added some doxy comments

fixes #161
clean up some function prototypes
Minor code clean-up of FarPatchTablesFactory :
- removed redundant counter / pointer struct
- renamed some of the variables to be less confusing
KernelBatch tables refactor / cleanup :
- FarKernelBatch becomes a class w/ accessors
- split the FarKernelBatchFactory to its own header file
- add doxy doc
- propagate fallout to the rest of the code base
fixing / adding doxy comments

fixes #138
Fixed GCD build errors from KernelBatch refactoring
Fixed DX11 build errors from KernelBatch refactoring
Fixed a few OS X build errors.
Disabled paintTest on OS X
Removed mutex implementation.

We added this to support earlier versions
of hbr, but it is no longer needed.
Feature adaptive refinement causes Hbr::GuaranteeNeighbors() to leave behind
some un-connected face-vertices. FarSubdivisionTablesFactory has been hardened
so as to not trip over these, but apparently Gregory patch valence tables
generation is tripping over one of those in FarPatchTablesFactory.

fixes #162
adding doxy comments to Compute Controllers

fixes #138
Fixed dyu's fix (we do need the window title in Osd Regression with GLFW 3.0)
Refactoring :

- moving the SubdivisionTables enum from osd/tables.h to FarSubdivisionTables

- renaming various buffer names to _devicePtr for consistency
first pass at refactoring FarPatchTables
code cleanup / comments