fix: fade direction fast math + remove first-line color wipe from evaluate
Fade strings like `fade:red-yellow-blue:frame*80` now animate correctly
in S-expressions — the direction part is expanded via expandFastMathMacros
before evaluation, so infix expressions (frame*80, frame/2, etc.) resolve
to actual values instead of being passed as literal strings.
First-line color detection in evaluate() no longer calls wipe/backgroundFill
— the paint setup ($.wipe(this.firstLineColor)) already handles that.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>