This just implements the guts of the dialog, without using it for anything yet. It also fixes a bug that caused a blank page to appear in the string picker if the total number of strings was an exact multiple of 40. Closes #563