The tone player supports the following functions:
- Play a single tone or a whole tune.
- Stop playing the current tone or tune.
- Return TRUE if a tone or tune is currently playing or FALSE if not.
- Attach a callback function that is called when the current tone has stopped playing.
- Remove any callback registered with this tone player.