minor edits
Fix: when ViewBox is resized, update range if it is linked to another view
ignore test directories in top-level __init__ imports
Added ViewBox test suite
Mid-way through overhaul. Proposed code path looks like:

    setRange -> updateViewRange -> matrix dirty
                            -> sigRangeChanged

    ... -> prepareForPaint -> updateAutoRange, updateMatrix if dirty
Initial success. Testing and further reorganization to follow.
A bit more flow reorganization
Fixes:
  - ROI updates on sigTransformChanged
  - ViewBox is more careful about accepting all auto-range changes up to the point it is disabled, even if the auto-range calculation is deferred.
Correct ViewBox.translate to use setRange(x, y) when possible rather than making two calls.
Bugfixes:
 - GraphicsView.render now correctly invokes GraphicsScene.prepareForPaint
 - Fixed RemoteGraphicsView renderer to use new PyQt QImage API.
 - multiprocess.Process now pipes stdout/err directly to console when in debugging mode
ViewBox overhaul. Cleaned up code pathway:
  - setRange now only affects target range
  - updateViewRange only affects view range
  - updateMatrix only affects childGroup transform
  - updateMatrix is only called before a render

Pathway now looks like:
        setRange -> updateViewRange -> matrix dirty -> ...
                                    -> sigRangeChanged

        ... -> prepareForPaint -> updateAutoRange, updateMatrix if dirty