Make each syntax form its own syntax plugin (component)

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