blafm.py: use BlaMenu and clean up top-level names

Functions and classes that are only intended to be used inside a
specific module should start with a single underscore.

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Clean up remaining uses of playlist_manager

The `blaplaylist' module exported a global variable called
`playlist_manager' in the past to gain direct access to playlists. Its
removal has temporarily left certain parts of blaplay in an unusable
state. This commit removes two unhandled exceptions caused by the
instance's removal.

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
tracklist.py: don't use mutable default arguments

Default arguments to functions are created at definition time, not when
functions are called. This means that mutating a default argument
through a reference has (most likely) unintended side effects, and
should therefore be avoided altogether.

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Hide track info widget when the player is stopped

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
blaplaylist.py: fix infinite recursion in _History

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
Allow overwriting tracks of filtered playlists

Adding tracks or otherwise modifying filtered playlists is generally
prohibited. However, sending tracks to the current playlist, even if
it's filtered, should be excluded from this rule.

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>
blatracklist.py: reset track list states properly

Signed-off-by: Niklas Koep <niklas.koep@gmail.com>