Improve PyInsane tests

Hi Jerome,

These patches improve the PyInsane tests in a few ways:
- Tests no longer require a physical device to be available.  If no device is found, the tests create a virtual device using the sane-test backend.
- Before running a test, ensure the backend supports what is being tested.  i.e., if the backend can't do Lineart mode, skip the Lineart testing.
- Fix up the rawapi tests and reenable them, modulo one weird issue with SANE options that do nothing but crash.  (I've emailed sane-devel to try to find out what's up with those; maybe there's a good fix)

Thanks,
Ross