rename main grid var

just in case
allow to set blink and sound on square constructor

in order to keep song script “simpler” and powerful
make new instances when setting sound on grid

in order to make them work without rewinding. might have high impact on
performance
set new sound instances per action

instead of per cell, in order to improve performance.
sound per cell was hitting too hard.
on making new GridCell, make new Sound

most of new GridCell usages are meant to make a new sound instance,
when there’s sound. This way the SongScript gets a bit smaller.
new Sound of type Sound should never be null

just sayin’… I mean, right now it makes more sense to get a compile
error if it is null.
add rewind sound to square step

and now it’s working!
minor SongScript cleaning and comment fixing

really, just minor tweaks.