Complex rules implementation

Now one can compose parser of rules combination as follows:

```Scala
  class TestParser(val input: ParserInput) extends Parser {
    def ABC = rule { 'a' ~ 'b' ~ 'c' }
    def complexRule = rule { ABC ~ ABC ~ EOI }
  }
```