Create a per-grammar fail Cursor.
Create a per-grammar fail Cursor.

This is used in various places to make failure allocate less. Attached
to ParseShared to still get type correct.

The places it's used so far takes NQP.nqp from creating 284742 Cursor
objects in its parse to 229535, though needs more testing.

cygx/nqp,cygx/nqp,cygx/nqp,cygx/nqp,cygx/nqp,cygx/nqp,cygx/nqp,cygx/nqp