mpris: Use Songs view if has no playlist

Select Songs view as playlist if there's none and Play is called.
view: Make adding rows to models atomic

This ensures that when row-inserted signal is emitted, the row already
have values for all columns.
player: Store current track as row reference

Ensures that currentTrack iter won't get invalidated if a value changes
in its row in the model.
player: Sync buttons when playlist is modified

Sync prev and next buttons when a track gets added or removed in the
current playlist.