GUI: scrolling signal display
GUI: add a GLCanvasMonitorTrace class to handle display of each monitor trace.

Also don't draw samples outside the wxScrolledWindow visible region, in an
attempt to reduce lag when displaying lots of cycles.
GUI: improve scrolling by inheriting from wxScrollHelper

This means the GL viewport doesn't have to expand to fit all
the cycles, it remains at the visible size. This means no lag with
lots of cycles.
Fix text sometimes not being rendered when MyGLCanvas has been scrolled
Replace RegionCoords with wxRect
Filter visible files in open file dialog to *.gf2