[rbp] new scheme for handling stalling and buffering

There's two types of under run that can occur on Pi in xbmc:
1. Unable to stream fast enough (e.g. wifi + hdmi audio passthrough)
2. Lack of CPU (e.g. wired ethernet + software DTS)

The first behaves well, and xbmc buffers for a number of seconds giving the buffers a chance to fill up.
The second case behaves less well. It doesn't go into buffering mode and just continuously stutters.

This patch makes both cases buffer. It also means we start paying with a full buffer of decoded audio which should maximise the time until we under run (which could avoid buffering at all on a marginal file).
It also fixes a bug where m_endtime was used without being initialised which meant we left the stall state early.