TODO list of new features:

# KSaneWidget
Use KSaneCore + KSaneBasicOptions + KSaneSpecialOptions + KSanePreview to create a GUI like the current
KSaneBasicOptions* createBasicOptions(QWidget *parent=0) const     // A widget with current "basic options"
KSaneSpecialOptions* createSpecialOptions(QWidget *parent=0) const // A widget with the rest of the options
Cleanup public API
-> enum xxx { }; for easier signal/slot handling
float -> qreal

# KSaneOptionWidget
Remove label and custom label size code

# KSaneBasicOptions(QWidget *parent=0)    // Use private header for basic/Special selection
bool loadOptions(const QList<KSaneOption*> &options)

# KSaneSpecialOptions(QWidget *parent=0)  // Use private header for basic/Special selection
bool loadOptions(const QList<KSaneOption*> &options)

# KSanePreview
Figure out how to minimize copying the image data to all possible preview widgets
void "connectToCore"(KSaneCore*)                        // connect to previewUpdated(..), scanProgress(), ...

