Added crop and delete functionality

This adds crop and delete functionality using the cursors as selections. As noted in the commit message, there is a lot of code duplication between the analog and logic classes. Some of the code is almost identical, except that it deals with different types. So it seems a small refactor would be in order at some point.

The erase functions handle the segments as sequential data, respecting their individual samplerate in the process. That means that this code should be mostly compatible with any future additions in that area (Sweep).