widgets: filelist_view: optimize the icon usage and fix a mem leak

All the icons in filelist_view are identical, so it should only need to
be created at the first instance startup.
widgets: filelist_view: misc code format