Update to mirror functionality.

Choosing the best exact match over all approximate matches is dumb.
There will invariably be at least *one* match, since most displays will
support horrible resolutions like 640x480.  So, the approximate matching
code was essentially dead.  This update looks first for an exact match
on the native resolution of the internal display, and then resorts to
approximate matching, selecting the best resolution within the error
bounds (specified with -a).