Redesign syntax extensions

This redesign replaces Reference with InlineExtension and Definition
with Extension.

Previously we had Reference and Definition as ways to extend kurrent
syntax. These names reflected their internal usage perfectly but I don't
think they accurately reflect how they are intended to be used in
general.
Fix whitespace
Adapt KurrentWriter to new ast nodes
Kill Reference and Extension code in HTML5Writer
Remove Definiton code in KurrentWriter