Replaced track parameter with starttime and duration.

Current issues:

* For file formats that CM doesn't know about, we don't know the length
  of the audio file, and thus can't fetch the length of the last track.

* We should remove the duration flag when no duration is given, this is
  currently set to 100000 seconds when duration is None (unspecified).

Other notes:

* getsonginfo() needs to know which track is being fetched, this is
  currenly checked by comparing the provided starttime parameter with
  each track. This could be either left as-is, or done differently.

* Decode.decode() must resolve the audio filepath itself, since we use
  the cue filepath to map to the proper decoder. The cue and audio files
  can also have different base names (eg. foo.cue can point to bar.flac).

* starttime must include decimals to avoid playing back the last second
  or so of the previous track, duration also does this to stay
  consistent.