Visual query builder

Still working on:

* Docstrings/better variable names
* Precompute compatibility
* Adding a setting to disable pycode altogether
:heavy_check_mark: Directive is now called `operation` and `operation`s have `operator`s.