Kunal/touching hidden sprite

Addresses #233, #472. 

If the asker's block is hidden, still returns true if touching.
If the surrounding block is hidden, returns false.
1. It depends on the de facto default - in this case, the default is true (sprites start out visible) but the attribute isn't set, so null should be distinguished from false. JavaScript casts null to false when converting to boolean, so this has to be differentiated.

I could imagine other cases where the default is false, and the code you posted would work just fine.