Threads.doWith() bug fix

Threads.doWith() is supposed to return a thread ID to allow users to
wait on it...
Fix finalization bug with vector tweens

Only the first element of the tweened vector was being set at the end of
the tween. This was causing strange behavior when using a Tween to fade
between colors and the like.
Move marquee scenelet back into Cutscenes.js

I had forgotten that the marquee command uses the Specs Tween class, so
it wouldn't work with a stock Scenario setup.  Pretty dumb on my part, I
know! :-)
Split off battle HUD into its own class

Also fixed a couple regressions related to the Scenario 3.5 upgrade and
did a bunch of code refactoring in the battle engine.