Visual query builder

Still working on:

* Docstrings/better variable names
* Precompute compatibility
* Adding a setting to disable pycode altogether
are there any performance implications of having different partials in different files vs. having  them in an single file?