mpris: Use Songs view if has no playlist

Select Songs view as playlist if there's none and Play is called.

https://bugzilla.gnome.org/show_bug.cgi?id=705855
view: Make adding rows to models atomic

This ensures that when row-inserted signal is emitted, the row already
have values for all columns.

https://bugzilla.gnome.org/show_bug.cgi?id=705855
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.

https://bugzilla.gnome.org/show_bug.cgi?id=705855
player: Sync buttons when playlist is modified

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

https://bugzilla.gnome.org/show_bug.cgi?id=705855