Many users report Unknown output types, while the reported output names
are more reliable. This patch makes the code fall back to the name-based
detection code (which was there already anyway, but hardly used).
I've removed one private static method, since this was only called from
one place and moving this logic into the method where the rest of the
string detection happens makes the code more readable.
The "panel" detection still plays a bit of a special role, this matches
the previous behavior, which I really don't want to change.
Also, "DP<something>" is commonly used for displayport connectors, so
match that as well.
CCBUG:364044