completed rewrite to use threading and discrete functions for polling of
currently playing items, time display, and loading.