- device_state now records what state we think the output device is
in. For network/command the open/close state is somewhat
fictitious.
- mainloop now decides whether it wants to play audio sensibly
(playable()) and only calls beforepoll() and ready() [formerly
afterpoll()] if so
- error retry done at the same time but without calling ready()
- play() is now defined as always safe to call, and makes best
efforts to be able to play something.
- forceplay is gone