get uitest compiling again
ui testcase with two dropdowns
restrict floats to one at a time
if there's a float then only consider widgets within the container
rework dropdown to catch context clicks and close the popup
first cut of layers - multiple overlaid UI stacks
handle the widget list changing while its being traversed
switch dropdown to use layers, and remove the old float methods
set a layer's layer to itself so that layer pointers bubble through the tree properly
remove widget floating flag and rewrite mouse over/out handling
make load error dialog a layer
dim backgrounds slightly when showing dialogs
force relayout after layer add/remove
brief doc update for layers
redundant comment
explain the double-layout business. see also @8b9a532
search up the tree for our layer, and apply layer to our kids

its a pita but its quite hard to cache the layer for a widget when it
might not be in a layer when added to the container. better just to take
the hit at tree construction
drop all layers when entering the main loop
do the error dialog with a Label and Table so it collapses to centre

I need to work out how to put a MultiLineText in a variable-size
container
register UI::Layer to Lua