Bug 1053173: Use |LazyIdleThread| for FM tuning, r=mwu

FM tuning is performed rarely, usually only when switching stations
on the radio, or at irregular intervals. Most of the time, the FM
tune thread is idle.

This patch converts the FM tune thread to be a |LazyIdleThread|. It
get's cleaned up after a small timeout (currently 5 seconds), so it
won't occupy resources while the user is actually listening to the
radio.