This adds support for selecting Curves points in edit mode.
Selection happens one of two ways:
- either X-ray is enabled in which case selection is done by projecting points on the screen and choosing which one is the closest to the mouse cursor
- X-ray is disabled in which case selection is done by looking up the selection draw buffer from the Select ID draw engine
For the second case, an point index vertex buffer is added to
the HairBatchCache and filled when requested.
A flags attribute is added to the Curves point which records
if a point is selected or not. More flags can be added, although
for now we only use 8 bits per point. This attribute is then
used as a basis for creating a edit data draw buffer which will
draw the points (color) differently based on their selection
status.
The last selected point is also recorded which is used to define
the active point.