Tree functions cleanup + CSS Guards `default` error.

These two commits are slightly unrelated, but the second one depends on the first so I decided to combine them in one the PR.

* Functions.js: Some (minor) refactoring of "externally" defined functions (math, blending, `default`) - mostly just cleaned up their initialization . No changes in the language / function results.
* `Default` function "front-end" reworked for a bit higher-level control from its "back-end" code (e.g. tree.mixin.eval).
* Added error for `default` when it's used in CSS guards (#1748).