Leg support

Implemented almost every Leg grammar except for ``exp ~ { action }`` and optional ``;``. 

Currently has problem with ``-switch`` optimization, please refer to [this issue](https://github.com/brucehsu/peg/issues/1). Besides that, it works just fine (tested with classic calculator example) .

Since there are still some work to do, such as polishing README, I'm posting this pull request just to notify those who are interested in a Leg implementation in Go.

Any advice or fix is welcome. :)