First attempt for the JsonDSL

@janm399 @fommil, this not perfect because I wasn't able to find how to overload ":" since it's not a function, it's a reserved keyword of the grammar.

What you reckon? Is what we want here?
My implementation seems to naive :D