Better synchronize sounds on results page (refs #922).

I made the score_bell sound start playing a bit before the star
hits the end of the level bar, so that when the sound plays it isn't
too late already.

I also made the pinball sound start playing before the score
"slot machine" animation starts.
The pinball sound then keeps playing during the level bar animations
and is stopped when the level bar animations stop.
This probably isn't ideal (the slot machine animation is so
nice that it would deserve its own sound), but I tried a couple
of different combinations and this still seemed like the best
compromise.
Preload sound files via SoundManager's autoLoad option (close #920).

This creates all sound objects with the autoLoad option set to true.
This means that audio files will start loading as soon as the game
is loaded.

This creates a HTTP request for every sound at startup, but I think
we might be able to get away with this since we don't use too many
sound files, and all of them are quite small.

If it turns out this doesn't work well, sound manager offers options
for more fine-tuned preloading. We could probably even hook that into
the preloading screen for ultimate preload experience, but that would
require some more work.
Fix nasty bug when closing a tab in Firefox (closes #929).

The $.cardstories.send function was used from the tabs plugin,
and it wasn't called with the correct number of parameters
(I guess we forgot to update it when we were changing the
$.cardstories.send function).

The most problematic parameter that was missing was a callback
function, which $.cardstories.send invokes in a setTimeout.
Firefox seems to be mind this a lot since it throws an error
and stops execution, while most other browsers quietly ignore
this.

This commit fixes the tabs plugin to call send with the correct
number of arguments, while also making sure that send doesn't
try to invoke an undefined function in a setTimeout.
Skin the player level info display (closes #912).

Since there isn't a lot of place for the player's name,
the name will get truncated to 15 characters max.

There is a lot of duplication of the HTML structure,
but that's how things are currently set up and I still find it
cleaner (and easier) to duplicate the HTML than to dynamically
generate it with JS from a template.
Debug missing player_info (refs #927)

Since for the life of me I couldn't reproduce the problem described on
issue 927, either locally or accessing the remote test.cardstories.org, with
or without bots, and from different browsers, this commits some code to
help debug the issue.

This will test two theories, enabling us to know what's going on:

1) That the table plugin is not returning a valid next_owner_id.

2) That the next_owner_id is valid but not in the players_info array.
Stop queues when changing tabs (refs #928, #927)

So that animations and sounds stop playing when the user changes tabs
(specifically level-up sounds when changing from a game in a complete
tab to another one), all queues must be stopped.  To do so, we must keep
track of queues: I chose to use the $(root) container as a global queue
element, in addition to a $(root).data('queues') array with the names of
the queues in use.

Most of the changes here involve refactoring the calls to .queue() to
accomodate the above.

However, this changeset also removes the debug code introduced in #927,
as I was finally able to reproduce the problem: it turns out that when
you open a tab of a previously completed game, the players_info[] array
will not contain the id of the next player.  I added some "duct tape"
so the error does not come up.  However, this may not be desired
behavior, and needs to be discussed.
Merge branch 'master' of git://gitorious.org/~arbrandes/cardstories/arbrandes-cardstories
Stop the FB login window poping up in IE (closes #935).

Unfortunatelly I couldn't figure out why that happens, but stopping
keydown event propagation in the chat_plugin chat input key handler
prevents that from happening.
Fix a bug when changing mind on the card (closes #936).

I introduced this bug while working on anonymous views for
the create steps. I had to change the way the closing of the
dock worked in the create_pick_card case, but accidently also
changed the behaviour for the case where the author changes his mind,
which should remain intact.

This commit fixes my mistake and adds a test case.