For Next MAJOR VERSION: Operators are strictly either embedding on characters
or on EOF, never both. Enable stricter checking on use of FSM commands in
actions.
 -% operator only on leaving characters.  
 -All global and local error operators only embed on error character
  transitions.  
 -Add EOF action embedding for all classes of states to make up removed
  functionality.

Embed actions into states that get executed immediately upon entering the
state.

Documentation: add longest match kleene star operator.

Possible to split a machine across many files. Need a notion of including other
sources that have machines in them. This way things like alphtype, element and
getkey can be shared.

Possible to split a machine definition (code part) across multiple files
(separte compilation).

Options are available on the command line settable from within the fsm
specification. This would allow different fsms to be compiled differently from
within the same source.

Add more examples, add more tests and write more documentation.

Remove static data from the parser.

Better compression of table driven fsms. Can put functions and states in the
same array then a transitions can be variable size. After looking at the target
state if the next num is in the function range then there is a function,
otherwise it is part of the next transition.

A debugger would be nice. Ragel could emit a special debug version that propted
for debug commands that allowed the user to step through the machine and get
details about where they are in their RL.
