Speculative fixes to long standing object promotion problems.
Fix save files with a currently animating image which hang rlvm.

Time in ticks since program started shouldn't be baked into the file format,
but now are. When we encounter one of these, just replace it with the current
time.
Fixes regression: battle effects should be shown in LB battles.

After 1c01ad482415dd2aec6916d1f99984b905cef4a3, alpha was not being calculated
properly. Also multiply by 255 instead of 256.
Fix crash when pushing selection button object.
bgrLoadHaikei should work even if it wasn't passed a valid filename.

The LB gallery/music menus do not provide a valid filename and appear to
just use bgrLoadHaikei as a way of triggering a transition effect.
Add cancelable variants of the button object commands.
Add a nowait flag that's under script control.
When running LB lua tests, always select the NO button.
Add a quick build configuration to run with Google's performance tools.
Add NULL checks for unit tests.
Removes dead code from libreallive.

This is the first step towards simplifying the implementations of various
BytecodeElements. Further changes will by functional, instead of just deleting
code.
[Part 1/6]: Minimize strings in BytecodeElement

All DataElement subclasses rely on the keeping the raw bytecode representation
around in a string, but it doesn't have to be that way. Push repr down past
DataElement / change ownership of CommandElement
[Part 2/6]: Minimize strings in BytecodeElement

Pushes repr down past CommandElement and FunctionElement.
[Part 3/6]: Minimize strings in BytecodeElement

This actually splits FunctionElement into three classes, representing the cases
0, 1, and n arguments. An function call with no arguments now has zero strings.
[Part 4/6]: Minimize strings in BytecodeElement

Push repr all the way down and clean up headers a bit. They are still code
soup. :-/
[Part 5/6]: Minimize strings in BytecodeElement

Pull out the repr string from GosubWithElement.
[Part 6/6]: Minimize strings in BytecodeElement

Split GotoElement in two. Basic goto/gosub commands don't need any strings in
them, while goto_if/unless() do.
Try to work around PulseAudio memory leak.

Pulse is leaking all window titles, so minimize changing the window title, and
turn MEMORY off by default on luaRlvm.