Restore volume after idle

- If playback is manually stopped, return volume to it's previous level
- If playback stops on it's own, and the current position in the
playlist is the last position in the playlist, return the volume to it's
previous level
- Code cleanup