Adam, maybe an easier way to do this would be using
Extension:NamespaceHTML -- it allows HTML tags to be used, but only
in a namespace of your choice. This namespace would be only editable
by a trusted group. But the results could be transincluded into other
namespaces, but general users still can't use raw HTML themselves.
Interesting, thanks for the suggestion. I think that would work to
embed SVG images, but I think you would still miss out on MW's image
handling abilities - like being able to resize images, add captions,
etc.
I think you could probably make it work for this use-case, but it might
be a little hacky so I'll come back to it if none of the other ideas
work :-)
Using the tag function #{{tag:html| you can even have
Mediawiki
variables inside the formatted HTML, but the HTML, itself, will not
be editable by general users. Seems an easy way to go than writing a
whole new extension.
I have the extension already written for the most part, just figuring
out how to link in to MW's image-handling code is a little confusing!
Cheers,
Adam.