Improve PyInsane tests, v2

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
- Fix abstract tests to check exceptions raised for inactive options

Since the sane-test backend simulates an ADF with 10 pages loaded, I'd say this closes https://github.com/jflesch/pyinsane/issues/9