TODO for Pugs::Grammar::Rule and Pugs::Emitter::Rule::Perl5

What's missing for releasing:

- documentation
- examples of use
- more Match.pm methods (like 'pos')
- rule switches (none, currently)
- incomplete rule syntax (see README)
- test user-defined subrules (there may be namespace problems)

Other TODO:

- .from and .to not implemented in subrules

- Switches - none so far - all rules have :p set (only match at start of 
  text) (see Pugs::Compiler::Rule workaround)

- there are 2 engines - the old lrep engine, which drives the rule parser,
  and the new engine, which is the user-side parser. The 2 steps should 
  use only the new engine.

- simple closures don't get the Match argument

- remove 'grammar1' namespace everywhere
- 'Pugs::Grammar::Rule::Lib' - old p5 code... -- 'use' in P:G:R

- namespace problems:
  - rules are compiled in the Pugs::Grammar::Rule namespace
  - user-defined rules are local to the current package
    and will need to be called with full-name (until fixed)

- more tests (port from lrep)

- make lrep use this module
  
- optimization: precompile the rules that have return blocks:
   (check if this still apply)
   my $rule = sub { ... }
   *xxx = sub { $rule; ... }

- optimization: inline code in the Engine
