Pretty much all scanners I have seen implement a standard API (such as TWAIN or whatever the "scanners and cameras" folder maps to) which programs like Photoshop and GIMP use to talk to the scanner directly.
On linux, it seems like the equivelent is SANE.
To me, the right answer is for WINE to emulate TWAIN and the other APIs on top of SANE. And then for a mapper driver written to go the other way so that apps (including WINE) would talk to SANE and then SANE would talk to the TWAIN stuff which would in turn talk to the device driver (which could talk to the hardware itself via libusb)