backend must be the first parameter to all tests

Otherwise other funcargs might be called first and attempt to create
PyOP2 data structures before the backend has been initialized or the
test has been skipped in the case where the backend is invalid.
Skip FFC interface test if UFL or FFC are not available