raise UsageError for unsupported GUI backends

gives clearer, more concise message without traceback

closes #3609