This PR prioritizes non-viewport regions.
`wm_draw_window_offscreen` now iterates over
regions in two passes; first it checks for non-viewports
and draws them. If it finds any it will defer viewport
region draws to the next call to `wm_draw_update`.
This greatly improves UI responsiveness when working
with EEVEE, with the exception of any UI element that
causes the shadow buffers to be regenerated, that
still causes a lag.
This is kind of a hack, it is submitted to encourage
discussion.