General tweaks and improvements. Sound and shiz. Also, a resource-intensive button.

There are things that could probably be done better, hence why I'm requesting this be pulled into the beta branch. I'm pretty sure it's stable, but wouldn't bet too much on that. Either way, there are things that could be improved upon
Only allocating a single rectangle, instead of one for each button. Makes code easier to read, and easier to add/remove buttons