scripting: "when" op: clock only on false-to-true change
marsystems: Spectrum: warn input samples not power of two
system, scripting: enhance name lookup and inline prototypes

MarSystems can act as scope for lookup of a set of names of
any arbitrary MarSystems regardless of hierarchy.

In scripts, name lookup and path resolution is done exclusively using
the new scope system. Each explicitly named actor functions as a scope,
and captures all (and only) hierarchically closest named descendants.
This means that in order to address a deeply nested actor, it is not
necessary anymore to name all actors on the hierarchical way to it.

This commit also improves inline prototype instantiation to
properly duplicate links to internal control expressions.
scripting: remove parenthesis around "public" keyword

Keyword emphasis should rather be handled by syntax highlighting
(when Marsyas script conquers the world and any self-respecting
editor has highlighting for it).
demo scripts: update for change of "public" keyword