I was looking in the code since there was a false reference to the function screen_layout_columns() that doesn't exists in the current release. As it does in the branche "1.4".
Branche "1.4" Should have been trunk since that is the most recent code.
Also switching to a role check if someone is unapproved is wrong. This makes it harder for the user to approve someone because he/she need to think and select which role a user has. The old way was better. To make a solution for it, it is better to store the selected role in a user meta field and create a approve button in the user overview so the user can approve someone without the need to edit someones profile/role.
Another note is that the upgrade_plugin() method shouldn't be hooked to init. The best is on plugin activation otherwise admin_init. Also role will not be made for existed plugins since options is set. Also the version number is wrong and should probably be a class variable.