Delay the appearance of the progress bar to avoid flickering

Do not show the progress bar if visible for less than 300msec. In most
cases the bar is enabled for less than 150msec or way more than a
second. The latter being the most interesting from a user perspective.
Share a single Handler
LeakHandler -> WeakHandler

Pointed out by Sébastien.
Simplification
Use a static handler to avoid a memory leak
respect os setting when displaying sys time
Simplify fragment management

This commit removes a lot of code accumulated during the past months
while trying to fix all the issues we had with the Fragments, making it
bloated and hard to maintain. By simplifying the code most of the
problematic add() calls have been removed in favor of replace() which is
less prone to crash.

It is important to either use all replace() and avoid calls to add(), _or_
we use attach/detach and manage add() by ourselves. This is because
replace() itself internally calls add(). Mixing the two styles is unstable
and has lead to many crashes by IllegalStateException.

Back then, we were using replace() and add() simultaneously. Now, we have
removed all add() calls to theoretically prevent interference with replace().

Most of the original code and complexity came from the time all the scanning
was done within the fragments and when they had to be loaded even before
they were shown.

I do not pretend this commit will be a silver-bullet, but at least it's
an attempt to make things simpler to use and maintain.

It is also worth noting that this commit also fixes the long standing
issue of the audio fragment that was always stacked behind the current
active one.
SidebarAdapter: dead code removal

Rendered obsolete by bc4a6aa42f500e86d75001fa35f89aa52162083c
VideoGridFragment: downgrade severity of debug statements
Relicense org.videolan.libvlc to LGPL