Bugfix: do trackEnded and setElapsedFrames in main thread

Closes issue #10
trackEnded does a bunch of notifications (which might cause UI)
setElapsedFrame interacts with UI
Bugfix: Null out _currentTrack before it gets set again by the trackEnded notification loop

Closes #3