Started to implement plugin sorting.

The C++ side sends a list of plugin names in sorted order back, and the
JS reorders the cards and nav list items to match. Old and new load
orders are recorded, and if sorting is cancelled the old order is used
to reorder the UI again, otherwise if it is accepted the JS sends the
plugin list back to C++, which applies the load order.

The actual sorting doesn't yet happen, the C++ just sends back the
current load order right now. If `loot.neverTellMeTheOdds` is true, then
the received load order is randomly shuffled.

Also fixed initialisation of the masterlist update checkbox state, and
the type thrown by the filter application function.