This PR is just intended to be an incremental improvement over the current hacky practice of renaming `_process_chunks_simple()` to `_process_chunks()`. So whilst it's certainly not ideal, I'm not really bothered by the global at this time.

That said, there's no harm in a quick discussion of other options, but if the scope/time-scale starts to grow then I'd far rather just get this PR merged first. So...

As you suggest, we could change the description of `biggus.engine` to be "The default lazy evaluation engine." And then when more control is needed, one could explicitly supply arrays to an engine instead. For example:
```python
results = engine.ndarrays(my_derived_array, my_other_derived_array, ...)
```
In which case I'm not sure you'd still want to have `biggus.ndarrays()`, as it would just be a call to `biggus.engine.ndarrays()`.