Some more studio cleanup

A little more cleanup as I try to understand Studio code.

(1) We were setting some fields on Blockly.Blocks (which is otherwise composed entirely of actual blocks). I moved this to local variables.
(2) NthStartingSkin seems really awkward to me. Instead I created a list of startAvatars that is reordered according to firstSpriteIndex.
(3) We had a circular dependency (studio.js requires block.js requires studio.js), that I'm surprised browserify is okay with.  I removed block's dependency on studio by having studio set startAvatars (which will change per level).
Depends what you think it means. Basically it just toggles whether we allow to sprites to go outside of the bounds of the playspace (in which case you don't see them) or confine them (i.e. if I keep going right, I won't go any further than the right side of the playspace).