Make each syntax form its own syntax plugin (component)

- this better supports nesting
- prevent unexpected closure of wrapped segements,
  e.g. </block> will no longer be able to close a wrap segment
  opened with <div> or <WRAP>.