shortcodes "attributes" setting must now be an array
dropped gname and hname component properties, finally refactored out