Is it possible to write a custom client other than a web browser?

After looking at the CommonMark spec, it appears to have HTML passthrough but maybe I can patch the reference code to generate XHTML 5 instead.