- wrote a new resizing dialog 'edit' class for simple resizing dialogs
- added comprehensive frame size and position options for the new system to the gui options panel
- moved review services frame to the new sizing system
- windows that initialise maximised will correctly return to their last remembered size and position on a restore event
- maximising a window by dragging it to the top edge of the screen should remember last position as the initial drag start position more reliably
- positioning code is a little safer
- fixed some missing recalculation of best/min size for wx.notebooks after page change
- fixed missing recalculation of scrolledpanel's virtualsize after child wx.notebook's page change
- fixed bad parentage for file import status frames
- hid file import status button in manage import folders and subscriptions dialogs for non-Windows, as this is very broken, and the parentage fix wasn't enough
- improved fuzzy padding on size calculations
- refactored and cleaned and harmonised a bunch of the new window resizing code
- suggested tags - favourites tag entry in options is now a live autocomplete dropdown
- cleaned suggested tags - favourites layout in options
- suggested tags listbox now sets its width to exactly fit its tags
- improved workflow logic of removing/petitioning siblings and parents (shouldn't get stuck in loops as much now)
- tag listboxes will update when tag siblings change
- the 'auto-replace siblings' state on manage tags will no longer incorrectly apply to removal actions
- import status caches now display errors in a more straightforward way
- errors sent to import status caches are now also printed to the log
- simplified how database exceptions are caught and displayed
- database exceptions now preserve the original exception type
- fixed db-side traceback line spacing in database exceptions
- improved general database exception rendering
- fixed imports for videos with negative start time
- deleting videos from the trash that are currently rendering should be more reliable
- crash.log now goes to the db dir, unless that isn't determined yet or is unwritable, in which case the traceback goes to console