Determines the height of a block by summing it's socket heights OR plug height if no sockets
TODO: this contains a lot of starlogo specific checks - should be refactored into slcodeblocks?
Determines the width of the block by checking for numerous block characteristics
TODO: this contains a lot of starlogo specific checks - should be refactored into slcodeblocks?
Creates a string representation for the given RenderableBlock that
is disambiguated from string representations for blocks with the same label
by appending socket information to the end of the block's label.