RFC WIP on python / PEG version of planout

Initial python planout compiler

Still todo:
- [ ] JSON literal (or hashmap / dict?)
- [ ] Unit-Tests
- [x] Switch
- [x] Else
- [ ] Port to JS ?


This PR is mostly for comments rather than as something that is done to be merged.
Question, in the above you say that uniformChoice(1,2,3) gets compiled to ```{"op": "uniformChoice", "values": [1,2,3]}```

Yet both grammars allow this, are there any situations where ```function(value, value2, ...)``` makes sense ?

If not should we just disallow grammars from parsing bare arguments in functions  ?