lots of html mode fixes. whitespace sigh
bound checking in expressions
BREAKING: @} should never be necessary
support @function within program, markup
case/break/continue does not need a whole block
unclosed tags are known to not be void