Fixing text buffer texture/font corruption (#479)
* #479 demonstrates that the contents of the text buffer are NOT irrelevant for reproducing bugs. So I set up recording/replay for the burma shave easter egg. This also makes an easy way to mess with the buffer state when debugging (just mash &/\*/&/\*/&/\* n times)
* When a replay throws an error, it puts up a showError() dialog. If the next action is a control_click, the system will try to click that control on the error dialog--which is totally divergent from the replay's intended behavior. So we should just stop replaying when an error happens.
* If you have a long replay and want to run it very fast, but then slow down when you get to the sequence that reproduces your bug, now you can add a `<change_fps>` to your replay to achieve that.
* Fixes for the 2 legacy replay errors that I opened recently
Fix#479Fix#532Fix#533
* Changed shop purchase sound effects where Yum! definitely didn't fit. For alchemy, mage spells, and priest spells, I made the sound the same as the sound when you perform those actions. I figure this actually makes sense because the teacher would show you how to do the thing.
* For skill training, I made the sound be the same as leveling up. I think this makes sense.
* When something is too heavy to pick up, the "Argh!" labeled as 'Action Failure' in the editor sound picker makes a lot of sense--you tried to pick it up and were frustrated.
* I changed beep() so every platform just plays sound effect 1, the one labeled "low beep" [here](http://openboe.com/docs/editor/appendix/Sounds.html) that's labeled "Cancel target lock" in the editor picker. I think this reasonable.
* Removed `ding()` which was an unused alias for `beep()`
A way to set this flag is not yet exposed in the scenario editor.
The flag is intended only for non-stackable items, but this currently isn't enforced.
Items now have a maximum number of charges, which is equal to their default number set in the item record.
Enchanted items with charges are now rechargeable.