ZoomChanged callback plus clarifications and refactoring

Added a callback for when user zooms in or out that gives a rectangle describing the boundaries/extents of the visible area. This is useful, for example, to re-calculate statistics on just the visible data.

I also discovered another (simpler, in my opinion) method for setting the selection for a cursor:

```C#
ptrChartArea.CursorX.SetSelectionPixelPosition(e.Location, e.Location, true);

// Previous way
ptrChartArea.CursorX.SelectionStart = ptrChartArea.AxisX.PixelPositionToValue(e.Location.X);
ptrChartArea.CursorX.SelectionEnd = ptrChartArea.CursorX.SelectionStart;
```

Lastly, I change the text on the status bar labels to try and make their purpose clearer to a new user. Let me know what you think about the changes.

Thanks!
Pat