Initial work on improving the Guitar Pro importer.

The basic idea is to read the file into some temporary data structures
(similar to the .gpx importer) and then perform the conversion to the
.pt2 format afterwards, instead of attempting to do both at once.

Currently, only the header is being imported.
Load the rest of the Guitar Pro file header.
Read measures from Guitar Pro files.
Import track data from Guitar Pro files.
Load beat effects from Guitar Pro files.
Load notes from Guitar Pro files.
Process chord diagrams and mix table change events.
Initial work on converting to PowerTab format.

- Players, instruments, and barlines are currently imported. This
includes a bug fix from the old importer where importing an adjacent
repeat end and repeat start would fail.
- For now, placeholder notes are inserted at each beat.
Load rehearsal signs from Guitar Pro files.
Fix the gcc build.
Import key signatures from Guitar Pro files.

This also corrects a couple bugs in the original implementation:
- Cancellations are now handled.
- Key signatures with flats are now handled.
Import time signatures from Guitar Pro files.
Import alternate endings from Guitar Pro files.

This didn't seem to work properly in the previous implementation.
Import text items from Guitar Pro files.
Import positions from Guitar Pro files.

- Corrected several issues with effects like vibrato and tremolo
picking, which apparently can appear on either the beat or an individual
note.
- Corrected issues with importing empty beats (e.g. if there is an empty
second voice).
- It doesn't seem like arpeggio up/down symbols are supported anywhere
in the file format (or, at least GP6 doesn't include them when exporting
to GP5 files)
Import basic note properties from Guitar Pro files.
Import slides from Guitar Pro files.

This corrects issues from the original implementation where slides would
fail to import if there was both a slide into and out of a note.
Process tempo markers and old-style chord diagrams.