Button stuff

Added in a lot of new button features:

- Buttons are drawn one at a time and never redrawn unless pressed
- Only specifically pressed buttons need to be redrawn
- Buttons have a nice opacity setting now
- User can specify opacity
- Sanitizes input (spacing) appropriately
- Abstracted a few "magic numbers" into constants
- Created object literal to deal with buttons currently being pressed
and details surrounding them