Working options

This pull request makes the options menu actually do its job.

The sound toggle works, and I have no idea if the controller type option works because I can't test it. It should prevent the user from switching to a controller type that isn't connected, though.

Also, I have no idea if I put the UserPrefs object in the right class, so feel free to suggest where it should be (or we can move and refactor this stuff later). In fact, you get to see a lot of "is there a better way of doing this?" in my comments :p Eh, it could be worse?

Because I have no idea if the controller switching actually works, feel free to delay this one.