Visual query builder

Still working on:

* Docstrings/better variable names
* Precompute compatibility
* Adding a setting to disable pycode altogether
consider different name then arg for the value in `function (arg, index)`. Overloaded name makes code hard to read.