ZVISION: More complete engine implementation

We don't use the underscore prefix for global variables. It's for class
variables. The struct should be consistent, though.