Schedule the filter application instead of running it immediately, and
pre-initialise the lists, as this causes the UI to initialise faster,
despite appearing like it should be slower.
The initialisation was setting the virtual list elements twice, causing
visible UI lag, partially due to a broken check for active filters,
which was also causing unnecessary calculations during other operations.
Most of the event handlers require access to post-init object
instances, but those that only interact with the DOM have been
moved into the DOM module.
If a plugin's description field contained `{{BASH:}}`, LOOT would
extract a Bash Tag with a zero-length name string. This would then cause
the user to be unable to save the metadata editor for that plugin,
because it would recognise that Bash Tag as being invalid.
This CEF is based on Chromium 51, which drops support for Windows
Vista.
CEF now has builds hosted by Spotify that can be downloaded
automatically, so the build process has been updated to automate
downloading and building the CEF dependency. The version of CMake
in Ubuntu 12.04 doesn't support the URL_HASH parameter, so use a
more recent version from a PPA.
Unfortunately the minimal build's CMake config is broken
(https://bitbucket.org/chromiumembedded/cef/issues/1921) so for now
LOOT downloads the standard build (which is a much larger download).
LOOT doesn't bundle the extensions resources, because it doesn't use
extensions, but this has resulted in errors being logged that aren't
actually a problem.