backends/drm: Store hardware and virtual outputs in two different lists
Currently, we effectively almost everywhere need DrmOutput outputs, DrmVirtualOutput outputs are needed only in a couple of places. There's not a lot that we gain from storing real and virtual outputs in one list, it adds unnecessary casting, etc. Ideally, virtual outputs must come from a different backend, the current approach is not scalable.