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).
Another approach would be to do a map where for each element we return the element firstSpriteIndex elements ahead (and wrapped), but the approach I took feels cleaner to me.