Add force_scanout layers which override deadline
Some layers really need to go on a hardware plane otherwise the solution we find isn't valid (for example wlroots rejects solutions which don't allocate the cursor to a hardware plane). This is a problem if we hit the deadline before we've found a solution which allocates these layers. The allocation reuse feature makes this even worse, because we'll keep trying to reuse the same (invalid) allocations and the user just sees a blank screen.
Add a function liftoff_layer_force_scanout() which lets the compositor indicate that a certain layer must be allocated to a hardware plane. We'll ignore the deadline and keep searching until any force_scanout layers are allocated (or we run out of options and give up).
In future this could be integrated into the layer priority, but for now I'm only using it for the cursor layer which is already at the top zpos.