Abstractions and improvements

- Increase back ring threshold
- Abstract app functions from handbell functions
- Add events to handbell and sounds
- Add volume control to sound class
Add Android Support!

Android does not properly calculate `rotationRate`, which *should*
be represented as degrees per second. Android seems to be reporting
degrees per 1/60th of a second. Multipling android values by 60
seems to normalize the value on the phones tested.

Tested:
- Nexus 7 tablet
- Samsung Galaxy S5
- iPhone 5c
- iPhone 6
gh-pages