Improve several aspects within the backend dialog

- make backend dialog like a real dialog. Besides making the backends dialog like a real dialog (not a normal window), user is still able to resize the dialog.
- order backend names in alphabetical order so that it's more readable for users, also avoids available backends are shown in random order.
- only show unsed backends in the backend combo list. I didn't find any necessarity to allow user add a backend multiple times, in which case unpredictable situations would happen.
It's not a good idea to have that window as a dialog: Currently if an error occurs, you need to switch to the main window to clear the error (no, it's not great UX, I know :/) If this window is a dialog, you could not switch to the task browser window to solve potential errors.