make Rule a full object factory and add State methods

move rule toString from State to Rule
rewrite State .consume as if-then to remove implicit order of eval
swap State .process arg order to match advanceTo arg order
add .advanceTo as a method on Paarser
inline setup func as part of Parser obj creation
as part of Parser init, convert raw grammar objects to Rules