Retrieve monitor EDIDs, use them to determine physical display size

Big victory here.  Many believe it is impossible to retrieve physical
display size via code
(http://stackoverflow.com/questions/577736/how-to-obtain-the-correct-physical-size-of-the-monitor/577881#577881).
They are partially correct.  There are no API calls for this, which
seems an extraordinary oversight on Microsoft's part.

That said, some clever individuals have found ways to retrieve the EDID
from the registry
(http://ofekshilon.com/2011/11/13/reading-monitor-physical-dimensions-or-getting-the-edid-the-right-way/).
Unfortunately, the code to do so is hideously complicated, and not at
all conducive to use in VB.

After much prototyping, I have devised another, much simpler way to
retrieve EDIDs for all active monitors - a combination of registry
spelunking and EnumDisplayDevices (which is already used extensively in
PD).  This much more elegant technique allows us to retrieve EDID values
while scanning for monitors at load-time, and we can retrieve all
necessary information without triggering UAC - perfect!

EDIDs contain a wealth of monitor information
(http://en.wikipedia.org/wiki/EDID#EDID_1.3_data_format), but most
relevant to PD's current build is physical monitor size (with mm
precision!) and monitor model name.  The combination of these two
factors should allow me to list much better monitor names in the Color
Management drop-down (e.g. " 21-inch Samsung ABC123 display"),
especially compared to the typical Windows label of "Generic PnP
Monitor" label.

(Model name parsing is still a work in progress.  Commit forthcoming.)